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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/array-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:49:04,986 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:49:04,990 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:49:05,009 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:49:05,009 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:49:05,010 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:49:05,011 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:49:05,013 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:49:05,015 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:49:05,016 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:49:05,017 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:49:05,017 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:49:05,018 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:49:05,019 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:49:05,020 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:49:05,021 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:49:05,021 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:49:05,023 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:49:05,025 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:49:05,027 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:49:05,028 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:49:05,030 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:49:05,032 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:49:05,033 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:49:05,033 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:49:05,034 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:49:05,035 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:49:05,036 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:49:05,037 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:49:05,038 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:49:05,038 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:49:05,039 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:49:05,039 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:49:05,039 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:49:05,041 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:49:05,041 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:49:05,042 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:49:05,057 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:49:05,057 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:49:05,058 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:49:05,058 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:49:05,059 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:49:05,059 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:49:05,059 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:49:05,060 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:49:05,060 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:49:05,060 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:49:05,060 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:49:05,061 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:49:05,062 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:49:05,062 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:49:05,062 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:49:05,062 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:49:05,063 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:49:05,063 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:49:05,063 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:49:05,063 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:49:05,063 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:49:05,064 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:49:05,064 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:49:05,064 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:49:05,064 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:49:05,064 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:49:05,132 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:49:05,145 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:49:05,149 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:49:05,150 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:49:05,151 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:49:05,152 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i [2018-11-14 18:49:05,212 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6deb01875/8cb861ebb6ed43579b5482440c900a55/FLAG6ebc53883 [2018-11-14 18:49:05,732 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:49:05,735 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-industry-pattern/array_shadowinit_true-unreach-call_true-termination.i [2018-11-14 18:49:05,744 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6deb01875/8cb861ebb6ed43579b5482440c900a55/FLAG6ebc53883 [2018-11-14 18:49:05,764 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6deb01875/8cb861ebb6ed43579b5482440c900a55 [2018-11-14 18:49:05,775 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:49:05,777 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:49:05,778 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:49:05,778 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:49:05,782 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:49:05,784 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:49:05" (1/1) ... [2018-11-14 18:49:05,787 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3cd3974d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:05, skipping insertion in model container [2018-11-14 18:49:05,787 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:49:05" (1/1) ... [2018-11-14 18:49:05,798 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:49:05,820 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:49:06,008 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:49:06,014 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:49:06,038 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:49:06,062 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:49:06,063 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06 WrapperNode [2018-11-14 18:49:06,063 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:49:06,064 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:49:06,064 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:49:06,064 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:49:06,080 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,080 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,093 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,094 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,102 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,108 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,110 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (1/1) ... [2018-11-14 18:49:06,112 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:49:06,112 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:49:06,113 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:49:06,113 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:49:06,114 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (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-14 18:49:06,246 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:49:06,246 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:49:06,247 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 18:49:06,247 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:49:06,247 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:49:06,247 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 18:49:06,247 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:49:06,247 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:49:06,248 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:49:06,248 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:49:06,248 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:49:06,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:49:06,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:49:06,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:49:06,249 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:49:06,774 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:49:06,775 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:49:06 BoogieIcfgContainer [2018-11-14 18:49:06,775 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:49:06,776 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:49:06,776 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:49:06,779 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:49:06,780 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:49:05" (1/3) ... [2018-11-14 18:49:06,780 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b519861 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:49:06, skipping insertion in model container [2018-11-14 18:49:06,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:49:06" (2/3) ... [2018-11-14 18:49:06,781 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b519861 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:49:06, skipping insertion in model container [2018-11-14 18:49:06,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:49:06" (3/3) ... [2018-11-14 18:49:06,783 INFO L112 eAbstractionObserver]: Analyzing ICFG array_shadowinit_true-unreach-call_true-termination.i [2018-11-14 18:49:06,794 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:49:06,803 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:49:06,820 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:49:06,852 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:49:06,853 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:49:06,853 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:49:06,853 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:49:06,853 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:49:06,854 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:49:06,854 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:49:06,854 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:49:06,854 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:49:06,875 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states. [2018-11-14 18:49:06,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-14 18:49:06,882 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:06,883 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:06,885 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:06,892 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:06,892 INFO L82 PathProgramCache]: Analyzing trace with hash 858809846, now seen corresponding path program 1 times [2018-11-14 18:49:06,895 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:06,895 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:06,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:06,946 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:06,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:06,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:07,101 INFO L256 TraceCheckUtils]: 0: Hoare triple {29#true} call ULTIMATE.init(); {29#true} is VALID [2018-11-14 18:49:07,105 INFO L273 TraceCheckUtils]: 1: Hoare triple {29#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {29#true} is VALID [2018-11-14 18:49:07,106 INFO L273 TraceCheckUtils]: 2: Hoare triple {29#true} assume true; {29#true} is VALID [2018-11-14 18:49:07,106 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29#true} {29#true} #56#return; {29#true} is VALID [2018-11-14 18:49:07,106 INFO L256 TraceCheckUtils]: 4: Hoare triple {29#true} call #t~ret2 := main(); {29#true} is VALID [2018-11-14 18:49:07,107 INFO L273 TraceCheckUtils]: 5: Hoare triple {29#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {29#true} is VALID [2018-11-14 18:49:07,107 INFO L273 TraceCheckUtils]: 6: Hoare triple {29#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {29#true} is VALID [2018-11-14 18:49:07,108 INFO L273 TraceCheckUtils]: 7: Hoare triple {29#true} assume !true; {30#false} is VALID [2018-11-14 18:49:07,109 INFO L273 TraceCheckUtils]: 8: Hoare triple {30#false} ~i~0 := 0; {30#false} is VALID [2018-11-14 18:49:07,109 INFO L273 TraceCheckUtils]: 9: Hoare triple {30#false} assume true; {30#false} is VALID [2018-11-14 18:49:07,109 INFO L273 TraceCheckUtils]: 10: Hoare triple {30#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {30#false} is VALID [2018-11-14 18:49:07,110 INFO L256 TraceCheckUtils]: 11: Hoare triple {30#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {30#false} is VALID [2018-11-14 18:49:07,110 INFO L273 TraceCheckUtils]: 12: Hoare triple {30#false} ~cond := #in~cond; {30#false} is VALID [2018-11-14 18:49:07,111 INFO L273 TraceCheckUtils]: 13: Hoare triple {30#false} assume ~cond == 0; {30#false} is VALID [2018-11-14 18:49:07,111 INFO L273 TraceCheckUtils]: 14: Hoare triple {30#false} assume !false; {30#false} is VALID [2018-11-14 18:49:07,115 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-14 18:49:07,118 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:49:07,118 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:49:07,124 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-14 18:49:07,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:07,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:49:07,228 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:07,229 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:49:07,238 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:49:07,239 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:49:07,242 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 2 states. [2018-11-14 18:49:07,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:07,418 INFO L93 Difference]: Finished difference Result 43 states and 51 transitions. [2018-11-14 18:49:07,419 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:49:07,419 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 15 [2018-11-14 18:49:07,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:07,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:49:07,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2018-11-14 18:49:07,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:49:07,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2018-11-14 18:49:07,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2018-11-14 18:49:07,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:07,729 INFO L225 Difference]: With dead ends: 43 [2018-11-14 18:49:07,729 INFO L226 Difference]: Without dead ends: 20 [2018-11-14 18:49:07,735 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:49:07,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-11-14 18:49:07,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2018-11-14 18:49:07,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:07,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2018-11-14 18:49:07,871 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-14 18:49:07,871 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-14 18:49:07,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:07,876 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2018-11-14 18:49:07,876 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-14 18:49:07,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:07,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:07,877 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-14 18:49:07,877 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-14 18:49:07,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:07,881 INFO L93 Difference]: Finished difference Result 20 states and 21 transitions. [2018-11-14 18:49:07,881 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-14 18:49:07,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:07,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:07,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:07,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:07,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-14 18:49:07,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2018-11-14 18:49:07,887 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 21 transitions. Word has length 15 [2018-11-14 18:49:07,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:07,887 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 21 transitions. [2018-11-14 18:49:07,888 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:49:07,888 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-14 18:49:07,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-14 18:49:07,889 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:07,889 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:07,889 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:07,890 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:07,890 INFO L82 PathProgramCache]: Analyzing trace with hash 1109794416, now seen corresponding path program 1 times [2018-11-14 18:49:07,890 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:07,890 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:07,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:07,892 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:07,892 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:07,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:08,271 INFO L256 TraceCheckUtils]: 0: Hoare triple {155#true} call ULTIMATE.init(); {155#true} is VALID [2018-11-14 18:49:08,271 INFO L273 TraceCheckUtils]: 1: Hoare triple {155#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {155#true} is VALID [2018-11-14 18:49:08,272 INFO L273 TraceCheckUtils]: 2: Hoare triple {155#true} assume true; {155#true} is VALID [2018-11-14 18:49:08,272 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {155#true} {155#true} #56#return; {155#true} is VALID [2018-11-14 18:49:08,273 INFO L256 TraceCheckUtils]: 4: Hoare triple {155#true} call #t~ret2 := main(); {155#true} is VALID [2018-11-14 18:49:08,273 INFO L273 TraceCheckUtils]: 5: Hoare triple {155#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {155#true} is VALID [2018-11-14 18:49:08,286 INFO L273 TraceCheckUtils]: 6: Hoare triple {155#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {157#(and (<= 1 ~N~0) (= main_~i~0 0))} is VALID [2018-11-14 18:49:08,300 INFO L273 TraceCheckUtils]: 7: Hoare triple {157#(and (<= 1 ~N~0) (= main_~i~0 0))} assume true; {157#(and (<= 1 ~N~0) (= main_~i~0 0))} is VALID [2018-11-14 18:49:08,313 INFO L273 TraceCheckUtils]: 8: Hoare triple {157#(and (<= 1 ~N~0) (= main_~i~0 0))} assume !(~i~0 < ~N~0); {156#false} is VALID [2018-11-14 18:49:08,314 INFO L273 TraceCheckUtils]: 9: Hoare triple {156#false} ~i~0 := 0; {156#false} is VALID [2018-11-14 18:49:08,314 INFO L273 TraceCheckUtils]: 10: Hoare triple {156#false} assume true; {156#false} is VALID [2018-11-14 18:49:08,314 INFO L273 TraceCheckUtils]: 11: Hoare triple {156#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {156#false} is VALID [2018-11-14 18:49:08,315 INFO L256 TraceCheckUtils]: 12: Hoare triple {156#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {156#false} is VALID [2018-11-14 18:49:08,315 INFO L273 TraceCheckUtils]: 13: Hoare triple {156#false} ~cond := #in~cond; {156#false} is VALID [2018-11-14 18:49:08,315 INFO L273 TraceCheckUtils]: 14: Hoare triple {156#false} assume ~cond == 0; {156#false} is VALID [2018-11-14 18:49:08,316 INFO L273 TraceCheckUtils]: 15: Hoare triple {156#false} assume !false; {156#false} is VALID [2018-11-14 18:49:08,318 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-14 18:49:08,318 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:49:08,318 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:49:08,320 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-14 18:49:08,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:08,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:49:08,413 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:08,413 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:49:08,414 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:49:08,414 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:49:08,414 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. Second operand 3 states. [2018-11-14 18:49:08,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:08,560 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-14 18:49:08,560 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:49:08,560 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-14 18:49:08,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:08,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:08,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 35 transitions. [2018-11-14 18:49:08,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:49:08,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 35 transitions. [2018-11-14 18:49:08,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 35 transitions. [2018-11-14 18:49:08,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:08,736 INFO L225 Difference]: With dead ends: 33 [2018-11-14 18:49:08,736 INFO L226 Difference]: Without dead ends: 22 [2018-11-14 18:49:08,737 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:49:08,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-11-14 18:49:08,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 22. [2018-11-14 18:49:08,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:08,756 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 22 states. [2018-11-14 18:49:08,756 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-14 18:49:08,756 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-14 18:49:08,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:08,759 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-14 18:49:08,759 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 18:49:08,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:08,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:08,760 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 22 states. [2018-11-14 18:49:08,760 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 22 states. [2018-11-14 18:49:08,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:08,763 INFO L93 Difference]: Finished difference Result 22 states and 23 transitions. [2018-11-14 18:49:08,763 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 18:49:08,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:08,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:08,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:08,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:08,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 18:49:08,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2018-11-14 18:49:08,766 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 16 [2018-11-14 18:49:08,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:08,767 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2018-11-14 18:49:08,767 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:49:08,767 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-14 18:49:08,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-14 18:49:08,768 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:08,768 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:08,768 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:08,769 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:08,769 INFO L82 PathProgramCache]: Analyzing trace with hash 373366378, now seen corresponding path program 1 times [2018-11-14 18:49:08,769 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:08,769 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:08,770 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:08,770 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:08,771 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:08,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:09,225 WARN L179 SmtUtils]: Spent 176.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 6 [2018-11-14 18:49:09,669 INFO L256 TraceCheckUtils]: 0: Hoare triple {280#true} call ULTIMATE.init(); {280#true} is VALID [2018-11-14 18:49:09,669 INFO L273 TraceCheckUtils]: 1: Hoare triple {280#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {280#true} is VALID [2018-11-14 18:49:09,670 INFO L273 TraceCheckUtils]: 2: Hoare triple {280#true} assume true; {280#true} is VALID [2018-11-14 18:49:09,670 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {280#true} {280#true} #56#return; {280#true} is VALID [2018-11-14 18:49:09,671 INFO L256 TraceCheckUtils]: 4: Hoare triple {280#true} call #t~ret2 := main(); {280#true} is VALID [2018-11-14 18:49:09,671 INFO L273 TraceCheckUtils]: 5: Hoare triple {280#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {280#true} is VALID [2018-11-14 18:49:09,672 INFO L273 TraceCheckUtils]: 6: Hoare triple {280#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,673 INFO L273 TraceCheckUtils]: 7: Hoare triple {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,674 INFO L273 TraceCheckUtils]: 8: Hoare triple {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,675 INFO L273 TraceCheckUtils]: 9: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume true; {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,676 INFO L273 TraceCheckUtils]: 10: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,677 INFO L273 TraceCheckUtils]: 11: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,678 INFO L273 TraceCheckUtils]: 12: Hoare triple {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:09,679 INFO L273 TraceCheckUtils]: 13: Hoare triple {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {285#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} is VALID [2018-11-14 18:49:09,682 INFO L256 TraceCheckUtils]: 14: Hoare triple {285#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {286#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:09,688 INFO L273 TraceCheckUtils]: 15: Hoare triple {286#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {287#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 18:49:09,689 INFO L273 TraceCheckUtils]: 16: Hoare triple {287#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {281#false} is VALID [2018-11-14 18:49:09,689 INFO L273 TraceCheckUtils]: 17: Hoare triple {281#false} assume !false; {281#false} is VALID [2018-11-14 18:49:09,692 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:09,692 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:09,693 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:09,705 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:09,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:09,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:09,775 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:09,876 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-14 18:49:09,883 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 18:49:09,887 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:09,897 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:09,929 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:09,929 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-14 18:49:10,058 INFO L477 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-14 18:49:10,097 INFO L477 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-14 18:49:10,099 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:10,101 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:10,108 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-14 18:49:10,109 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:7 [2018-11-14 18:49:10,111 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:10,175 INFO L256 TraceCheckUtils]: 0: Hoare triple {280#true} call ULTIMATE.init(); {280#true} is VALID [2018-11-14 18:49:10,176 INFO L273 TraceCheckUtils]: 1: Hoare triple {280#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {280#true} is VALID [2018-11-14 18:49:10,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {280#true} assume true; {280#true} is VALID [2018-11-14 18:49:10,176 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {280#true} {280#true} #56#return; {280#true} is VALID [2018-11-14 18:49:10,177 INFO L256 TraceCheckUtils]: 4: Hoare triple {280#true} call #t~ret2 := main(); {280#true} is VALID [2018-11-14 18:49:10,177 INFO L273 TraceCheckUtils]: 5: Hoare triple {280#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {280#true} is VALID [2018-11-14 18:49:10,181 INFO L273 TraceCheckUtils]: 6: Hoare triple {280#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,182 INFO L273 TraceCheckUtils]: 7: Hoare triple {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,183 INFO L273 TraceCheckUtils]: 8: Hoare triple {282#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,183 INFO L273 TraceCheckUtils]: 9: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume true; {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,184 INFO L273 TraceCheckUtils]: 10: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,185 INFO L273 TraceCheckUtils]: 11: Hoare triple {283#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) 0) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,186 INFO L273 TraceCheckUtils]: 12: Hoare triple {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:10,190 INFO L273 TraceCheckUtils]: 13: Hoare triple {284#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {285#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} is VALID [2018-11-14 18:49:10,191 INFO L256 TraceCheckUtils]: 14: Hoare triple {285#(and (= main_~i~0 |main_#t~mem1|) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {286#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:10,192 INFO L273 TraceCheckUtils]: 15: Hoare triple {286#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {287#(= __VERIFIER_assert_~cond 1)} is VALID [2018-11-14 18:49:10,195 INFO L273 TraceCheckUtils]: 16: Hoare triple {287#(= __VERIFIER_assert_~cond 1)} assume ~cond == 0; {281#false} is VALID [2018-11-14 18:49:10,195 INFO L273 TraceCheckUtils]: 17: Hoare triple {281#false} assume !false; {281#false} is VALID [2018-11-14 18:49:10,197 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:10,219 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:10,219 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2018-11-14 18:49:10,219 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 18 [2018-11-14 18:49:10,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:10,220 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:49:10,266 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:10,266 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:49:10,267 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:49:10,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:49:10,267 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 8 states. [2018-11-14 18:49:10,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:10,820 INFO L93 Difference]: Finished difference Result 32 states and 33 transitions. [2018-11-14 18:49:10,820 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:49:10,821 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 18 [2018-11-14 18:49:10,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:10,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:10,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 33 transitions. [2018-11-14 18:49:10,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:49:10,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 33 transitions. [2018-11-14 18:49:10,827 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 33 transitions. [2018-11-14 18:49:10,874 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-14 18:49:10,877 INFO L225 Difference]: With dead ends: 32 [2018-11-14 18:49:10,877 INFO L226 Difference]: Without dead ends: 30 [2018-11-14 18:49:10,878 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 16 SyntacticMatches, 3 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:49:10,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-14 18:49:10,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-14 18:49:10,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:10,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-14 18:49:10,914 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-14 18:49:10,914 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-14 18:49:10,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:10,918 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2018-11-14 18:49:10,918 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2018-11-14 18:49:10,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:10,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:10,919 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-14 18:49:10,919 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-14 18:49:10,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:10,922 INFO L93 Difference]: Finished difference Result 30 states and 31 transitions. [2018-11-14 18:49:10,922 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 31 transitions. [2018-11-14 18:49:10,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:10,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:10,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:10,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:10,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-14 18:49:10,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 30 transitions. [2018-11-14 18:49:10,926 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 30 transitions. Word has length 18 [2018-11-14 18:49:10,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:10,927 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 30 transitions. [2018-11-14 18:49:10,927 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:49:10,927 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 30 transitions. [2018-11-14 18:49:10,928 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-14 18:49:10,928 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:10,928 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:10,929 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:10,929 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:10,929 INFO L82 PathProgramCache]: Analyzing trace with hash -420133591, now seen corresponding path program 1 times [2018-11-14 18:49:10,929 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:10,929 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:10,930 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:10,931 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:10,931 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:10,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:11,086 INFO L256 TraceCheckUtils]: 0: Hoare triple {490#true} call ULTIMATE.init(); {490#true} is VALID [2018-11-14 18:49:11,087 INFO L273 TraceCheckUtils]: 1: Hoare triple {490#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {490#true} is VALID [2018-11-14 18:49:11,087 INFO L273 TraceCheckUtils]: 2: Hoare triple {490#true} assume true; {490#true} is VALID [2018-11-14 18:49:11,087 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {490#true} {490#true} #56#return; {490#true} is VALID [2018-11-14 18:49:11,088 INFO L256 TraceCheckUtils]: 4: Hoare triple {490#true} call #t~ret2 := main(); {490#true} is VALID [2018-11-14 18:49:11,088 INFO L273 TraceCheckUtils]: 5: Hoare triple {490#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {490#true} is VALID [2018-11-14 18:49:11,089 INFO L273 TraceCheckUtils]: 6: Hoare triple {490#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {492#(= main_~i~0 0)} is VALID [2018-11-14 18:49:11,089 INFO L273 TraceCheckUtils]: 7: Hoare triple {492#(= main_~i~0 0)} assume true; {492#(= main_~i~0 0)} is VALID [2018-11-14 18:49:11,090 INFO L273 TraceCheckUtils]: 8: Hoare triple {492#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {493#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:11,091 INFO L273 TraceCheckUtils]: 9: Hoare triple {493#(<= main_~i~0 1)} assume true; {493#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:11,097 INFO L273 TraceCheckUtils]: 10: Hoare triple {493#(<= main_~i~0 1)} assume !(~i~0 < ~N~0); {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,099 INFO L273 TraceCheckUtils]: 11: Hoare triple {494#(<= ~N~0 1)} ~i~0 := 0; {495#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:11,101 INFO L273 TraceCheckUtils]: 12: Hoare triple {495#(and (<= ~N~0 1) (= main_~i~0 0))} assume true; {495#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:11,102 INFO L273 TraceCheckUtils]: 13: Hoare triple {495#(and (<= ~N~0 1) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {495#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:11,102 INFO L256 TraceCheckUtils]: 14: Hoare triple {495#(and (<= ~N~0 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {490#true} is VALID [2018-11-14 18:49:11,103 INFO L273 TraceCheckUtils]: 15: Hoare triple {490#true} ~cond := #in~cond; {490#true} is VALID [2018-11-14 18:49:11,103 INFO L273 TraceCheckUtils]: 16: Hoare triple {490#true} assume !(~cond == 0); {490#true} is VALID [2018-11-14 18:49:11,104 INFO L273 TraceCheckUtils]: 17: Hoare triple {490#true} assume true; {490#true} is VALID [2018-11-14 18:49:11,105 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {490#true} {495#(and (<= ~N~0 1) (= main_~i~0 0))} #60#return; {495#(and (<= ~N~0 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:11,105 INFO L273 TraceCheckUtils]: 19: Hoare triple {495#(and (<= ~N~0 1) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {496#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:11,106 INFO L273 TraceCheckUtils]: 20: Hoare triple {496#(<= ~N~0 main_~i~0)} assume true; {496#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:11,110 INFO L273 TraceCheckUtils]: 21: Hoare triple {496#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {491#false} is VALID [2018-11-14 18:49:11,110 INFO L256 TraceCheckUtils]: 22: Hoare triple {491#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {491#false} is VALID [2018-11-14 18:49:11,110 INFO L273 TraceCheckUtils]: 23: Hoare triple {491#false} ~cond := #in~cond; {491#false} is VALID [2018-11-14 18:49:11,111 INFO L273 TraceCheckUtils]: 24: Hoare triple {491#false} assume ~cond == 0; {491#false} is VALID [2018-11-14 18:49:11,111 INFO L273 TraceCheckUtils]: 25: Hoare triple {491#false} assume !false; {491#false} is VALID [2018-11-14 18:49:11,113 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:11,113 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:11,113 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:11,131 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:11,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:11,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:11,172 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:11,560 INFO L256 TraceCheckUtils]: 0: Hoare triple {490#true} call ULTIMATE.init(); {490#true} is VALID [2018-11-14 18:49:11,560 INFO L273 TraceCheckUtils]: 1: Hoare triple {490#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {490#true} is VALID [2018-11-14 18:49:11,560 INFO L273 TraceCheckUtils]: 2: Hoare triple {490#true} assume true; {490#true} is VALID [2018-11-14 18:49:11,560 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {490#true} {490#true} #56#return; {490#true} is VALID [2018-11-14 18:49:11,561 INFO L256 TraceCheckUtils]: 4: Hoare triple {490#true} call #t~ret2 := main(); {490#true} is VALID [2018-11-14 18:49:11,561 INFO L273 TraceCheckUtils]: 5: Hoare triple {490#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {490#true} is VALID [2018-11-14 18:49:11,562 INFO L273 TraceCheckUtils]: 6: Hoare triple {490#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {518#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:11,562 INFO L273 TraceCheckUtils]: 7: Hoare triple {518#(<= main_~i~0 0)} assume true; {518#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:11,563 INFO L273 TraceCheckUtils]: 8: Hoare triple {518#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {493#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:11,564 INFO L273 TraceCheckUtils]: 9: Hoare triple {493#(<= main_~i~0 1)} assume true; {493#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:11,565 INFO L273 TraceCheckUtils]: 10: Hoare triple {493#(<= main_~i~0 1)} assume !(~i~0 < ~N~0); {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,566 INFO L273 TraceCheckUtils]: 11: Hoare triple {494#(<= ~N~0 1)} ~i~0 := 0; {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:11,572 INFO L273 TraceCheckUtils]: 12: Hoare triple {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} assume true; {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:11,573 INFO L273 TraceCheckUtils]: 13: Hoare triple {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:11,574 INFO L256 TraceCheckUtils]: 14: Hoare triple {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,574 INFO L273 TraceCheckUtils]: 15: Hoare triple {494#(<= ~N~0 1)} ~cond := #in~cond; {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,579 INFO L273 TraceCheckUtils]: 16: Hoare triple {494#(<= ~N~0 1)} assume !(~cond == 0); {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,579 INFO L273 TraceCheckUtils]: 17: Hoare triple {494#(<= ~N~0 1)} assume true; {494#(<= ~N~0 1)} is VALID [2018-11-14 18:49:11,580 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {494#(<= ~N~0 1)} {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} #60#return; {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:11,581 INFO L273 TraceCheckUtils]: 19: Hoare triple {534#(and (<= ~N~0 1) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {559#(and (<= ~N~0 1) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:11,582 INFO L273 TraceCheckUtils]: 20: Hoare triple {559#(and (<= ~N~0 1) (<= 1 main_~i~0))} assume true; {559#(and (<= ~N~0 1) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:11,582 INFO L273 TraceCheckUtils]: 21: Hoare triple {559#(and (<= ~N~0 1) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {491#false} is VALID [2018-11-14 18:49:11,582 INFO L256 TraceCheckUtils]: 22: Hoare triple {491#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {491#false} is VALID [2018-11-14 18:49:11,583 INFO L273 TraceCheckUtils]: 23: Hoare triple {491#false} ~cond := #in~cond; {491#false} is VALID [2018-11-14 18:49:11,583 INFO L273 TraceCheckUtils]: 24: Hoare triple {491#false} assume ~cond == 0; {491#false} is VALID [2018-11-14 18:49:11,583 INFO L273 TraceCheckUtils]: 25: Hoare triple {491#false} assume !false; {491#false} is VALID [2018-11-14 18:49:11,586 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:11,609 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:11,609 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2018-11-14 18:49:11,609 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 26 [2018-11-14 18:49:11,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:11,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 18:49:11,669 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:11,669 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 18:49:11,669 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 18:49:11,670 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:49:11,670 INFO L87 Difference]: Start difference. First operand 29 states and 30 transitions. Second operand 10 states. [2018-11-14 18:49:12,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:12,111 INFO L93 Difference]: Finished difference Result 57 states and 60 transitions. [2018-11-14 18:49:12,112 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 18:49:12,112 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 26 [2018-11-14 18:49:12,112 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:12,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:12,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2018-11-14 18:49:12,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:49:12,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2018-11-14 18:49:12,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2018-11-14 18:49:12,255 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:12,257 INFO L225 Difference]: With dead ends: 57 [2018-11-14 18:49:12,258 INFO L226 Difference]: Without dead ends: 36 [2018-11-14 18:49:12,258 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=42, Invalid=90, Unknown=0, NotChecked=0, Total=132 [2018-11-14 18:49:12,259 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-14 18:49:12,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2018-11-14 18:49:12,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:12,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 31 states. [2018-11-14 18:49:12,302 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 31 states. [2018-11-14 18:49:12,302 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 31 states. [2018-11-14 18:49:12,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:12,306 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2018-11-14 18:49:12,307 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 38 transitions. [2018-11-14 18:49:12,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:12,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:12,308 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 36 states. [2018-11-14 18:49:12,308 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 36 states. [2018-11-14 18:49:12,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:12,311 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2018-11-14 18:49:12,311 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 38 transitions. [2018-11-14 18:49:12,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:12,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:12,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:12,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:12,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:49:12,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 32 transitions. [2018-11-14 18:49:12,315 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 32 transitions. Word has length 26 [2018-11-14 18:49:12,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:12,315 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 32 transitions. [2018-11-14 18:49:12,315 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 18:49:12,315 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 32 transitions. [2018-11-14 18:49:12,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-14 18:49:12,317 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:12,317 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:12,317 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:12,317 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:12,318 INFO L82 PathProgramCache]: Analyzing trace with hash 401872035, now seen corresponding path program 2 times [2018-11-14 18:49:12,318 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:12,318 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:12,319 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:12,319 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:12,319 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:12,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:13,011 INFO L256 TraceCheckUtils]: 0: Hoare triple {776#true} call ULTIMATE.init(); {776#true} is VALID [2018-11-14 18:49:13,011 INFO L273 TraceCheckUtils]: 1: Hoare triple {776#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {776#true} is VALID [2018-11-14 18:49:13,012 INFO L273 TraceCheckUtils]: 2: Hoare triple {776#true} assume true; {776#true} is VALID [2018-11-14 18:49:13,012 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {776#true} {776#true} #56#return; {776#true} is VALID [2018-11-14 18:49:13,012 INFO L256 TraceCheckUtils]: 4: Hoare triple {776#true} call #t~ret2 := main(); {776#true} is VALID [2018-11-14 18:49:13,012 INFO L273 TraceCheckUtils]: 5: Hoare triple {776#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {776#true} is VALID [2018-11-14 18:49:13,027 INFO L273 TraceCheckUtils]: 6: Hoare triple {776#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {778#(= main_~k~0 0)} is VALID [2018-11-14 18:49:13,028 INFO L273 TraceCheckUtils]: 7: Hoare triple {778#(= main_~k~0 0)} assume true; {778#(= main_~k~0 0)} is VALID [2018-11-14 18:49:13,029 INFO L273 TraceCheckUtils]: 8: Hoare triple {778#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {779#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:13,032 INFO L273 TraceCheckUtils]: 9: Hoare triple {779#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {779#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:13,033 INFO L273 TraceCheckUtils]: 10: Hoare triple {779#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} is VALID [2018-11-14 18:49:13,039 INFO L273 TraceCheckUtils]: 11: Hoare triple {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} assume true; {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} is VALID [2018-11-14 18:49:13,040 INFO L273 TraceCheckUtils]: 12: Hoare triple {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} assume !(~i~0 < ~N~0); {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} is VALID [2018-11-14 18:49:13,041 INFO L273 TraceCheckUtils]: 13: Hoare triple {780#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1)} ~i~0 := 0; {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:13,041 INFO L273 TraceCheckUtils]: 14: Hoare triple {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} assume true; {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:13,042 INFO L273 TraceCheckUtils]: 15: Hoare triple {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:13,042 INFO L256 TraceCheckUtils]: 16: Hoare triple {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {776#true} is VALID [2018-11-14 18:49:13,043 INFO L273 TraceCheckUtils]: 17: Hoare triple {776#true} ~cond := #in~cond; {782#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:13,043 INFO L273 TraceCheckUtils]: 18: Hoare triple {782#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {783#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:13,044 INFO L273 TraceCheckUtils]: 19: Hoare triple {783#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {783#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:13,045 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {783#(not (= |__VERIFIER_assert_#in~cond| 0))} {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} #60#return; {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} is VALID [2018-11-14 18:49:13,046 INFO L273 TraceCheckUtils]: 21: Hoare triple {781#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 1))) 1) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {784#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} is VALID [2018-11-14 18:49:13,047 INFO L273 TraceCheckUtils]: 22: Hoare triple {784#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} assume true; {784#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} is VALID [2018-11-14 18:49:13,049 INFO L273 TraceCheckUtils]: 23: Hoare triple {784#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {785#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} is VALID [2018-11-14 18:49:13,050 INFO L256 TraceCheckUtils]: 24: Hoare triple {785#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {783#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:13,051 INFO L273 TraceCheckUtils]: 25: Hoare triple {783#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {786#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:13,052 INFO L273 TraceCheckUtils]: 26: Hoare triple {786#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {777#false} is VALID [2018-11-14 18:49:13,052 INFO L273 TraceCheckUtils]: 27: Hoare triple {777#false} assume !false; {777#false} is VALID [2018-11-14 18:49:13,056 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 1 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:13,057 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:13,057 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:13,070 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:13,091 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:13,091 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:13,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:13,109 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:13,199 INFO L477 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-14 18:49:13,204 INFO L477 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-14 18:49:13,206 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:13,209 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:13,217 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:13,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:49:13,702 INFO L477 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 17 treesize of output 13 [2018-11-14 18:49:13,708 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:13,709 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-14 18:49:13,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:13,717 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:13,722 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-14 18:49:13,723 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:49:13,725 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:13,780 INFO L256 TraceCheckUtils]: 0: Hoare triple {776#true} call ULTIMATE.init(); {776#true} is VALID [2018-11-14 18:49:13,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {776#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {776#true} is VALID [2018-11-14 18:49:13,781 INFO L273 TraceCheckUtils]: 2: Hoare triple {776#true} assume true; {776#true} is VALID [2018-11-14 18:49:13,781 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {776#true} {776#true} #56#return; {776#true} is VALID [2018-11-14 18:49:13,781 INFO L256 TraceCheckUtils]: 4: Hoare triple {776#true} call #t~ret2 := main(); {776#true} is VALID [2018-11-14 18:49:13,781 INFO L273 TraceCheckUtils]: 5: Hoare triple {776#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {776#true} is VALID [2018-11-14 18:49:13,782 INFO L273 TraceCheckUtils]: 6: Hoare triple {776#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {808#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,782 INFO L273 TraceCheckUtils]: 7: Hoare triple {808#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {808#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,784 INFO L273 TraceCheckUtils]: 8: Hoare triple {808#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {815#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,784 INFO L273 TraceCheckUtils]: 9: Hoare triple {815#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume true; {815#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,785 INFO L273 TraceCheckUtils]: 10: Hoare triple {815#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,786 INFO L273 TraceCheckUtils]: 11: Hoare triple {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,787 INFO L273 TraceCheckUtils]: 12: Hoare triple {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,787 INFO L273 TraceCheckUtils]: 13: Hoare triple {822#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,788 INFO L273 TraceCheckUtils]: 14: Hoare triple {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,790 INFO L273 TraceCheckUtils]: 15: Hoare triple {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,792 INFO L256 TraceCheckUtils]: 16: Hoare triple {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {842#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-14 18:49:13,793 INFO L273 TraceCheckUtils]: 17: Hoare triple {842#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {846#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:49:13,794 INFO L273 TraceCheckUtils]: 18: Hoare triple {846#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {850#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-14 18:49:13,795 INFO L273 TraceCheckUtils]: 19: Hoare triple {850#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} assume true; {850#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} is VALID [2018-11-14 18:49:13,796 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {850#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (= 1 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4))))} {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,798 INFO L273 TraceCheckUtils]: 21: Hoare triple {832#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {860#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,799 INFO L273 TraceCheckUtils]: 22: Hoare triple {860#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {860#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:13,800 INFO L273 TraceCheckUtils]: 23: Hoare triple {860#(and (= 1 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {785#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} is VALID [2018-11-14 18:49:13,801 INFO L256 TraceCheckUtils]: 24: Hoare triple {785#(and (= main_~i~0 |main_#t~mem1|) (= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {870#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:13,802 INFO L273 TraceCheckUtils]: 25: Hoare triple {870#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {874#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:13,805 INFO L273 TraceCheckUtils]: 26: Hoare triple {874#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {777#false} is VALID [2018-11-14 18:49:13,805 INFO L273 TraceCheckUtils]: 27: Hoare triple {777#false} assume !false; {777#false} is VALID [2018-11-14 18:49:13,808 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:49:13,828 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:13,828 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 21 [2018-11-14 18:49:13,829 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 28 [2018-11-14 18:49:13,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:13,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-14 18:49:13,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:13,930 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-14 18:49:13,930 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-14 18:49:13,931 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=361, Unknown=0, NotChecked=0, Total=420 [2018-11-14 18:49:13,931 INFO L87 Difference]: Start difference. First operand 31 states and 32 transitions. Second operand 21 states. [2018-11-14 18:49:15,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:15,387 INFO L93 Difference]: Finished difference Result 42 states and 43 transitions. [2018-11-14 18:49:15,387 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 18:49:15,387 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 28 [2018-11-14 18:49:15,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:15,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:49:15,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 40 transitions. [2018-11-14 18:49:15,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:49:15,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 40 transitions. [2018-11-14 18:49:15,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 40 transitions. [2018-11-14 18:49:15,563 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:15,565 INFO L225 Difference]: With dead ends: 42 [2018-11-14 18:49:15,566 INFO L226 Difference]: Without dead ends: 40 [2018-11-14 18:49:15,567 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 18 SyntacticMatches, 3 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 114 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=93, Invalid=507, Unknown=0, NotChecked=0, Total=600 [2018-11-14 18:49:15,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-14 18:49:15,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-14 18:49:15,611 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:15,611 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-14 18:49:15,611 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-14 18:49:15,612 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-14 18:49:15,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:15,615 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-14 18:49:15,615 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-14 18:49:15,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:15,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:15,616 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-14 18:49:15,616 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-14 18:49:15,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:15,618 INFO L93 Difference]: Finished difference Result 40 states and 41 transitions. [2018-11-14 18:49:15,619 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 41 transitions. [2018-11-14 18:49:15,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:15,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:15,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:15,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:15,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-14 18:49:15,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2018-11-14 18:49:15,622 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 28 [2018-11-14 18:49:15,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:15,623 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2018-11-14 18:49:15,623 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-14 18:49:15,623 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2018-11-14 18:49:15,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-14 18:49:15,624 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:15,624 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:15,625 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:15,625 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:15,625 INFO L82 PathProgramCache]: Analyzing trace with hash -594611614, now seen corresponding path program 3 times [2018-11-14 18:49:15,625 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:15,625 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:15,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:15,626 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:15,627 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:15,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:15,831 INFO L256 TraceCheckUtils]: 0: Hoare triple {1081#true} call ULTIMATE.init(); {1081#true} is VALID [2018-11-14 18:49:15,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {1081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1081#true} is VALID [2018-11-14 18:49:15,831 INFO L273 TraceCheckUtils]: 2: Hoare triple {1081#true} assume true; {1081#true} is VALID [2018-11-14 18:49:15,832 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1081#true} {1081#true} #56#return; {1081#true} is VALID [2018-11-14 18:49:15,832 INFO L256 TraceCheckUtils]: 4: Hoare triple {1081#true} call #t~ret2 := main(); {1081#true} is VALID [2018-11-14 18:49:15,832 INFO L273 TraceCheckUtils]: 5: Hoare triple {1081#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1081#true} is VALID [2018-11-14 18:49:15,833 INFO L273 TraceCheckUtils]: 6: Hoare triple {1081#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1083#(= main_~i~0 0)} is VALID [2018-11-14 18:49:15,833 INFO L273 TraceCheckUtils]: 7: Hoare triple {1083#(= main_~i~0 0)} assume true; {1083#(= main_~i~0 0)} is VALID [2018-11-14 18:49:15,834 INFO L273 TraceCheckUtils]: 8: Hoare triple {1083#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1084#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:15,835 INFO L273 TraceCheckUtils]: 9: Hoare triple {1084#(<= main_~i~0 1)} assume true; {1084#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:15,836 INFO L273 TraceCheckUtils]: 10: Hoare triple {1084#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1085#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:15,837 INFO L273 TraceCheckUtils]: 11: Hoare triple {1085#(<= main_~i~0 2)} assume true; {1085#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:15,837 INFO L273 TraceCheckUtils]: 12: Hoare triple {1085#(<= main_~i~0 2)} assume !(~i~0 < ~N~0); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:15,838 INFO L273 TraceCheckUtils]: 13: Hoare triple {1086#(<= ~N~0 2)} ~i~0 := 0; {1087#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:15,839 INFO L273 TraceCheckUtils]: 14: Hoare triple {1087#(and (<= ~N~0 2) (= main_~i~0 0))} assume true; {1087#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:15,840 INFO L273 TraceCheckUtils]: 15: Hoare triple {1087#(and (<= ~N~0 2) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1087#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:15,840 INFO L256 TraceCheckUtils]: 16: Hoare triple {1087#(and (<= ~N~0 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1081#true} is VALID [2018-11-14 18:49:15,840 INFO L273 TraceCheckUtils]: 17: Hoare triple {1081#true} ~cond := #in~cond; {1081#true} is VALID [2018-11-14 18:49:15,841 INFO L273 TraceCheckUtils]: 18: Hoare triple {1081#true} assume !(~cond == 0); {1081#true} is VALID [2018-11-14 18:49:15,841 INFO L273 TraceCheckUtils]: 19: Hoare triple {1081#true} assume true; {1081#true} is VALID [2018-11-14 18:49:15,843 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1081#true} {1087#(and (<= ~N~0 2) (= main_~i~0 0))} #60#return; {1087#(and (<= ~N~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:15,844 INFO L273 TraceCheckUtils]: 21: Hoare triple {1087#(and (<= ~N~0 2) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1088#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:15,845 INFO L273 TraceCheckUtils]: 22: Hoare triple {1088#(<= ~N~0 (+ main_~i~0 1))} assume true; {1088#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:15,845 INFO L273 TraceCheckUtils]: 23: Hoare triple {1088#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1088#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:15,845 INFO L256 TraceCheckUtils]: 24: Hoare triple {1088#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1081#true} is VALID [2018-11-14 18:49:15,845 INFO L273 TraceCheckUtils]: 25: Hoare triple {1081#true} ~cond := #in~cond; {1081#true} is VALID [2018-11-14 18:49:15,846 INFO L273 TraceCheckUtils]: 26: Hoare triple {1081#true} assume !(~cond == 0); {1081#true} is VALID [2018-11-14 18:49:15,846 INFO L273 TraceCheckUtils]: 27: Hoare triple {1081#true} assume true; {1081#true} is VALID [2018-11-14 18:49:15,852 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1081#true} {1088#(<= ~N~0 (+ main_~i~0 1))} #60#return; {1088#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:15,853 INFO L273 TraceCheckUtils]: 29: Hoare triple {1088#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1089#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:15,853 INFO L273 TraceCheckUtils]: 30: Hoare triple {1089#(<= ~N~0 main_~i~0)} assume true; {1089#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:15,854 INFO L273 TraceCheckUtils]: 31: Hoare triple {1089#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1082#false} is VALID [2018-11-14 18:49:15,854 INFO L256 TraceCheckUtils]: 32: Hoare triple {1082#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1082#false} is VALID [2018-11-14 18:49:15,854 INFO L273 TraceCheckUtils]: 33: Hoare triple {1082#false} ~cond := #in~cond; {1082#false} is VALID [2018-11-14 18:49:15,854 INFO L273 TraceCheckUtils]: 34: Hoare triple {1082#false} assume ~cond == 0; {1082#false} is VALID [2018-11-14 18:49:15,855 INFO L273 TraceCheckUtils]: 35: Hoare triple {1082#false} assume !false; {1082#false} is VALID [2018-11-14 18:49:15,856 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-14 18:49:15,856 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:15,856 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:15,865 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:15,886 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-14 18:49:15,887 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:15,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:15,910 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:16,168 INFO L256 TraceCheckUtils]: 0: Hoare triple {1081#true} call ULTIMATE.init(); {1081#true} is VALID [2018-11-14 18:49:16,168 INFO L273 TraceCheckUtils]: 1: Hoare triple {1081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1081#true} is VALID [2018-11-14 18:49:16,169 INFO L273 TraceCheckUtils]: 2: Hoare triple {1081#true} assume true; {1081#true} is VALID [2018-11-14 18:49:16,169 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1081#true} {1081#true} #56#return; {1081#true} is VALID [2018-11-14 18:49:16,169 INFO L256 TraceCheckUtils]: 4: Hoare triple {1081#true} call #t~ret2 := main(); {1081#true} is VALID [2018-11-14 18:49:16,170 INFO L273 TraceCheckUtils]: 5: Hoare triple {1081#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1081#true} is VALID [2018-11-14 18:49:16,171 INFO L273 TraceCheckUtils]: 6: Hoare triple {1081#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1111#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:16,171 INFO L273 TraceCheckUtils]: 7: Hoare triple {1111#(<= main_~i~0 0)} assume true; {1111#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:16,172 INFO L273 TraceCheckUtils]: 8: Hoare triple {1111#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1084#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:16,172 INFO L273 TraceCheckUtils]: 9: Hoare triple {1084#(<= main_~i~0 1)} assume true; {1084#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:16,173 INFO L273 TraceCheckUtils]: 10: Hoare triple {1084#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1085#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:16,174 INFO L273 TraceCheckUtils]: 11: Hoare triple {1085#(<= main_~i~0 2)} assume true; {1085#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:16,175 INFO L273 TraceCheckUtils]: 12: Hoare triple {1085#(<= main_~i~0 2)} assume !(~i~0 < ~N~0); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,175 INFO L273 TraceCheckUtils]: 13: Hoare triple {1086#(<= ~N~0 2)} ~i~0 := 0; {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:16,176 INFO L273 TraceCheckUtils]: 14: Hoare triple {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} assume true; {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:16,177 INFO L273 TraceCheckUtils]: 15: Hoare triple {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:16,178 INFO L256 TraceCheckUtils]: 16: Hoare triple {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,179 INFO L273 TraceCheckUtils]: 17: Hoare triple {1086#(<= ~N~0 2)} ~cond := #in~cond; {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,179 INFO L273 TraceCheckUtils]: 18: Hoare triple {1086#(<= ~N~0 2)} assume !(~cond == 0); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,180 INFO L273 TraceCheckUtils]: 19: Hoare triple {1086#(<= ~N~0 2)} assume true; {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,181 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1086#(<= ~N~0 2)} {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} #60#return; {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} is VALID [2018-11-14 18:49:16,182 INFO L273 TraceCheckUtils]: 21: Hoare triple {1133#(and (<= ~N~0 2) (<= 0 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:16,183 INFO L273 TraceCheckUtils]: 22: Hoare triple {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} assume true; {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:16,183 INFO L273 TraceCheckUtils]: 23: Hoare triple {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:16,184 INFO L256 TraceCheckUtils]: 24: Hoare triple {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,185 INFO L273 TraceCheckUtils]: 25: Hoare triple {1086#(<= ~N~0 2)} ~cond := #in~cond; {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,186 INFO L273 TraceCheckUtils]: 26: Hoare triple {1086#(<= ~N~0 2)} assume !(~cond == 0); {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,186 INFO L273 TraceCheckUtils]: 27: Hoare triple {1086#(<= ~N~0 2)} assume true; {1086#(<= ~N~0 2)} is VALID [2018-11-14 18:49:16,187 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1086#(<= ~N~0 2)} {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} #60#return; {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} is VALID [2018-11-14 18:49:16,188 INFO L273 TraceCheckUtils]: 29: Hoare triple {1158#(and (<= ~N~0 2) (<= 1 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1183#(and (<= ~N~0 2) (<= 2 main_~i~0))} is VALID [2018-11-14 18:49:16,189 INFO L273 TraceCheckUtils]: 30: Hoare triple {1183#(and (<= ~N~0 2) (<= 2 main_~i~0))} assume true; {1183#(and (<= ~N~0 2) (<= 2 main_~i~0))} is VALID [2018-11-14 18:49:16,195 INFO L273 TraceCheckUtils]: 31: Hoare triple {1183#(and (<= ~N~0 2) (<= 2 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1082#false} is VALID [2018-11-14 18:49:16,195 INFO L256 TraceCheckUtils]: 32: Hoare triple {1082#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1082#false} is VALID [2018-11-14 18:49:16,196 INFO L273 TraceCheckUtils]: 33: Hoare triple {1082#false} ~cond := #in~cond; {1082#false} is VALID [2018-11-14 18:49:16,196 INFO L273 TraceCheckUtils]: 34: Hoare triple {1082#false} assume ~cond == 0; {1082#false} is VALID [2018-11-14 18:49:16,196 INFO L273 TraceCheckUtils]: 35: Hoare triple {1082#false} assume !false; {1082#false} is VALID [2018-11-14 18:49:16,198 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-14 18:49:16,228 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:16,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-14 18:49:16,228 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 36 [2018-11-14 18:49:16,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:16,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-14 18:49:16,291 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:16,291 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-14 18:49:16,291 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-14 18:49:16,292 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-14 18:49:16,292 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand 13 states. [2018-11-14 18:49:16,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:16,738 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2018-11-14 18:49:16,738 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-14 18:49:16,738 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 36 [2018-11-14 18:49:16,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:16,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:49:16,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2018-11-14 18:49:16,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:49:16,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 69 transitions. [2018-11-14 18:49:16,746 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 69 transitions. [2018-11-14 18:49:16,921 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-14 18:49:16,923 INFO L225 Difference]: With dead ends: 75 [2018-11-14 18:49:16,924 INFO L226 Difference]: Without dead ends: 46 [2018-11-14 18:49:16,924 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:49:16,925 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-14 18:49:17,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 41. [2018-11-14 18:49:17,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:17,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 41 states. [2018-11-14 18:49:17,066 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 41 states. [2018-11-14 18:49:17,067 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 41 states. [2018-11-14 18:49:17,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:17,070 INFO L93 Difference]: Finished difference Result 46 states and 48 transitions. [2018-11-14 18:49:17,070 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 48 transitions. [2018-11-14 18:49:17,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:17,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:17,071 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 46 states. [2018-11-14 18:49:17,071 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 46 states. [2018-11-14 18:49:17,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:17,074 INFO L93 Difference]: Finished difference Result 46 states and 48 transitions. [2018-11-14 18:49:17,074 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 48 transitions. [2018-11-14 18:49:17,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:17,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:17,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:17,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:17,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-14 18:49:17,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 42 transitions. [2018-11-14 18:49:17,077 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 42 transitions. Word has length 36 [2018-11-14 18:49:17,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:17,077 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 42 transitions. [2018-11-14 18:49:17,077 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-14 18:49:17,077 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2018-11-14 18:49:17,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-14 18:49:17,078 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:17,078 INFO L375 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:17,079 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:17,079 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:17,079 INFO L82 PathProgramCache]: Analyzing trace with hash 1234448732, now seen corresponding path program 4 times [2018-11-14 18:49:17,079 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:17,079 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:17,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:17,080 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:17,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:17,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:17,394 INFO L256 TraceCheckUtils]: 0: Hoare triple {1461#true} call ULTIMATE.init(); {1461#true} is VALID [2018-11-14 18:49:17,394 INFO L273 TraceCheckUtils]: 1: Hoare triple {1461#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1461#true} is VALID [2018-11-14 18:49:17,394 INFO L273 TraceCheckUtils]: 2: Hoare triple {1461#true} assume true; {1461#true} is VALID [2018-11-14 18:49:17,394 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1461#true} {1461#true} #56#return; {1461#true} is VALID [2018-11-14 18:49:17,395 INFO L256 TraceCheckUtils]: 4: Hoare triple {1461#true} call #t~ret2 := main(); {1461#true} is VALID [2018-11-14 18:49:17,395 INFO L273 TraceCheckUtils]: 5: Hoare triple {1461#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1461#true} is VALID [2018-11-14 18:49:17,398 INFO L273 TraceCheckUtils]: 6: Hoare triple {1461#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1463#(= main_~k~0 0)} is VALID [2018-11-14 18:49:17,401 INFO L273 TraceCheckUtils]: 7: Hoare triple {1463#(= main_~k~0 0)} assume true; {1463#(= main_~k~0 0)} is VALID [2018-11-14 18:49:17,404 INFO L273 TraceCheckUtils]: 8: Hoare triple {1463#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1464#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:17,407 INFO L273 TraceCheckUtils]: 9: Hoare triple {1464#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {1464#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:17,407 INFO L273 TraceCheckUtils]: 10: Hoare triple {1464#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1465#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:17,408 INFO L273 TraceCheckUtils]: 11: Hoare triple {1465#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {1465#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:17,409 INFO L273 TraceCheckUtils]: 12: Hoare triple {1465#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} is VALID [2018-11-14 18:49:17,409 INFO L273 TraceCheckUtils]: 13: Hoare triple {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} assume true; {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} is VALID [2018-11-14 18:49:17,409 INFO L273 TraceCheckUtils]: 14: Hoare triple {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} assume !(~i~0 < ~N~0); {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} is VALID [2018-11-14 18:49:17,410 INFO L273 TraceCheckUtils]: 15: Hoare triple {1466#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2)} ~i~0 := 0; {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:17,410 INFO L273 TraceCheckUtils]: 16: Hoare triple {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} assume true; {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:17,411 INFO L273 TraceCheckUtils]: 17: Hoare triple {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:17,411 INFO L256 TraceCheckUtils]: 18: Hoare triple {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1461#true} is VALID [2018-11-14 18:49:17,411 INFO L273 TraceCheckUtils]: 19: Hoare triple {1461#true} ~cond := #in~cond; {1468#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:17,412 INFO L273 TraceCheckUtils]: 20: Hoare triple {1468#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:17,413 INFO L273 TraceCheckUtils]: 21: Hoare triple {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:17,414 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} #60#return; {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} is VALID [2018-11-14 18:49:17,415 INFO L273 TraceCheckUtils]: 23: Hoare triple {1467#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 2))) 2) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:17,415 INFO L273 TraceCheckUtils]: 24: Hoare triple {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume true; {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:17,416 INFO L273 TraceCheckUtils]: 25: Hoare triple {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:17,416 INFO L256 TraceCheckUtils]: 26: Hoare triple {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1461#true} is VALID [2018-11-14 18:49:17,416 INFO L273 TraceCheckUtils]: 27: Hoare triple {1461#true} ~cond := #in~cond; {1461#true} is VALID [2018-11-14 18:49:17,417 INFO L273 TraceCheckUtils]: 28: Hoare triple {1461#true} assume !(~cond == 0); {1461#true} is VALID [2018-11-14 18:49:17,417 INFO L273 TraceCheckUtils]: 29: Hoare triple {1461#true} assume true; {1461#true} is VALID [2018-11-14 18:49:17,435 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1461#true} {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #60#return; {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:17,451 INFO L273 TraceCheckUtils]: 31: Hoare triple {1470#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1471#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:17,460 INFO L273 TraceCheckUtils]: 32: Hoare triple {1471#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {1471#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:17,473 INFO L273 TraceCheckUtils]: 33: Hoare triple {1471#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1472#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:49:17,479 INFO L256 TraceCheckUtils]: 34: Hoare triple {1472#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:17,479 INFO L273 TraceCheckUtils]: 35: Hoare triple {1469#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1473#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:17,481 INFO L273 TraceCheckUtils]: 36: Hoare triple {1473#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {1462#false} is VALID [2018-11-14 18:49:17,481 INFO L273 TraceCheckUtils]: 37: Hoare triple {1462#false} assume !false; {1462#false} is VALID [2018-11-14 18:49:17,483 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 3 proven. 26 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 18:49:17,483 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:17,483 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:17,492 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:17,514 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:17,515 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:17,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:17,527 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:17,634 INFO L477 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-14 18:49:17,637 INFO L477 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-14 18:49:17,638 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:17,640 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:17,645 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:17,645 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:49:18,096 INFO L477 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 17 treesize of output 13 [2018-11-14 18:49:18,100 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:18,101 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-14 18:49:18,102 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:18,105 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:18,110 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-14 18:49:18,110 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:49:18,113 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:18,170 INFO L256 TraceCheckUtils]: 0: Hoare triple {1461#true} call ULTIMATE.init(); {1461#true} is VALID [2018-11-14 18:49:18,171 INFO L273 TraceCheckUtils]: 1: Hoare triple {1461#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1461#true} is VALID [2018-11-14 18:49:18,171 INFO L273 TraceCheckUtils]: 2: Hoare triple {1461#true} assume true; {1461#true} is VALID [2018-11-14 18:49:18,171 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1461#true} {1461#true} #56#return; {1461#true} is VALID [2018-11-14 18:49:18,171 INFO L256 TraceCheckUtils]: 4: Hoare triple {1461#true} call #t~ret2 := main(); {1461#true} is VALID [2018-11-14 18:49:18,172 INFO L273 TraceCheckUtils]: 5: Hoare triple {1461#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1461#true} is VALID [2018-11-14 18:49:18,193 INFO L273 TraceCheckUtils]: 6: Hoare triple {1461#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1495#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,207 INFO L273 TraceCheckUtils]: 7: Hoare triple {1495#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1495#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,216 INFO L273 TraceCheckUtils]: 8: Hoare triple {1495#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1502#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,217 INFO L273 TraceCheckUtils]: 9: Hoare triple {1502#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {1502#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,217 INFO L273 TraceCheckUtils]: 10: Hoare triple {1502#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1509#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,218 INFO L273 TraceCheckUtils]: 11: Hoare triple {1509#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {1509#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,225 INFO L273 TraceCheckUtils]: 12: Hoare triple {1509#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,225 INFO L273 TraceCheckUtils]: 13: Hoare triple {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,228 INFO L273 TraceCheckUtils]: 14: Hoare triple {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,228 INFO L273 TraceCheckUtils]: 15: Hoare triple {1516#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,229 INFO L273 TraceCheckUtils]: 16: Hoare triple {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,229 INFO L273 TraceCheckUtils]: 17: Hoare triple {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,230 INFO L256 TraceCheckUtils]: 18: Hoare triple {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,231 INFO L273 TraceCheckUtils]: 19: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} ~cond := #in~cond; {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,231 INFO L273 TraceCheckUtils]: 20: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume !(~cond == 0); {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,232 INFO L273 TraceCheckUtils]: 21: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume true; {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,232 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,233 INFO L273 TraceCheckUtils]: 23: Hoare triple {1526#(and (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,236 INFO L273 TraceCheckUtils]: 24: Hoare triple {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,237 INFO L273 TraceCheckUtils]: 25: Hoare triple {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,238 INFO L256 TraceCheckUtils]: 26: Hoare triple {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,238 INFO L273 TraceCheckUtils]: 27: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} ~cond := #in~cond; {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,238 INFO L273 TraceCheckUtils]: 28: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume !(~cond == 0); {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,239 INFO L273 TraceCheckUtils]: 29: Hoare triple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} assume true; {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} is VALID [2018-11-14 18:49:18,240 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1536#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (= 2 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8)))} {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} #60#return; {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,241 INFO L273 TraceCheckUtils]: 31: Hoare triple {1552#(and (= main_~i~0 1) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1577#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,241 INFO L273 TraceCheckUtils]: 32: Hoare triple {1577#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume true; {1577#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:18,242 INFO L273 TraceCheckUtils]: 33: Hoare triple {1577#(and (= main_~i~0 2) (= 2 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1584#(and (= main_~i~0 2) (= 2 |main_#t~mem1|))} is VALID [2018-11-14 18:49:18,244 INFO L256 TraceCheckUtils]: 34: Hoare triple {1584#(and (= main_~i~0 2) (= 2 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1588#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:18,244 INFO L273 TraceCheckUtils]: 35: Hoare triple {1588#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1592#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:18,245 INFO L273 TraceCheckUtils]: 36: Hoare triple {1592#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1462#false} is VALID [2018-11-14 18:49:18,245 INFO L273 TraceCheckUtils]: 37: Hoare triple {1462#false} assume !false; {1462#false} is VALID [2018-11-14 18:49:18,250 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-14 18:49:18,279 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:18,279 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-14 18:49:18,280 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 38 [2018-11-14 18:49:18,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:18,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-14 18:49:18,375 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:18,375 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-14 18:49:18,375 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-14 18:49:18,376 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=486, Unknown=0, NotChecked=0, Total=552 [2018-11-14 18:49:18,376 INFO L87 Difference]: Start difference. First operand 41 states and 42 transitions. Second operand 24 states. [2018-11-14 18:49:20,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,145 INFO L93 Difference]: Finished difference Result 52 states and 53 transitions. [2018-11-14 18:49:20,146 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-14 18:49:20,146 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 38 [2018-11-14 18:49:20,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:20,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 18:49:20,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 47 transitions. [2018-11-14 18:49:20,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-14 18:49:20,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 47 transitions. [2018-11-14 18:49:20,155 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 47 transitions. [2018-11-14 18:49:20,242 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-14 18:49:20,244 INFO L225 Difference]: With dead ends: 52 [2018-11-14 18:49:20,244 INFO L226 Difference]: Without dead ends: 50 [2018-11-14 18:49:20,247 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 27 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 180 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=127, Invalid=865, Unknown=0, NotChecked=0, Total=992 [2018-11-14 18:49:20,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-14 18:49:20,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2018-11-14 18:49:20,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:20,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 49 states. [2018-11-14 18:49:20,462 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 49 states. [2018-11-14 18:49:20,462 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 49 states. [2018-11-14 18:49:20,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,465 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-14 18:49:20,466 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-14 18:49:20,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:20,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:20,466 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 50 states. [2018-11-14 18:49:20,466 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 50 states. [2018-11-14 18:49:20,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:20,468 INFO L93 Difference]: Finished difference Result 50 states and 51 transitions. [2018-11-14 18:49:20,468 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-14 18:49:20,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:20,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:20,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:20,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:20,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-14 18:49:20,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 50 transitions. [2018-11-14 18:49:20,470 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 50 transitions. Word has length 38 [2018-11-14 18:49:20,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:20,471 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 50 transitions. [2018-11-14 18:49:20,471 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-14 18:49:20,471 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-14 18:49:20,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-14 18:49:20,472 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:20,472 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:20,472 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:20,472 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:20,473 INFO L82 PathProgramCache]: Analyzing trace with hash 264717851, now seen corresponding path program 5 times [2018-11-14 18:49:20,473 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:20,473 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:20,473 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:20,474 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:20,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:20,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:20,725 INFO L256 TraceCheckUtils]: 0: Hoare triple {1856#true} call ULTIMATE.init(); {1856#true} is VALID [2018-11-14 18:49:20,726 INFO L273 TraceCheckUtils]: 1: Hoare triple {1856#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1856#true} is VALID [2018-11-14 18:49:20,726 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#true} assume true; {1856#true} is VALID [2018-11-14 18:49:20,726 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1856#true} {1856#true} #56#return; {1856#true} is VALID [2018-11-14 18:49:20,726 INFO L256 TraceCheckUtils]: 4: Hoare triple {1856#true} call #t~ret2 := main(); {1856#true} is VALID [2018-11-14 18:49:20,726 INFO L273 TraceCheckUtils]: 5: Hoare triple {1856#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1856#true} is VALID [2018-11-14 18:49:20,727 INFO L273 TraceCheckUtils]: 6: Hoare triple {1856#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1858#(= main_~i~0 0)} is VALID [2018-11-14 18:49:20,727 INFO L273 TraceCheckUtils]: 7: Hoare triple {1858#(= main_~i~0 0)} assume true; {1858#(= main_~i~0 0)} is VALID [2018-11-14 18:49:20,729 INFO L273 TraceCheckUtils]: 8: Hoare triple {1858#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1859#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:20,729 INFO L273 TraceCheckUtils]: 9: Hoare triple {1859#(<= main_~i~0 1)} assume true; {1859#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:20,730 INFO L273 TraceCheckUtils]: 10: Hoare triple {1859#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1860#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:20,730 INFO L273 TraceCheckUtils]: 11: Hoare triple {1860#(<= main_~i~0 2)} assume true; {1860#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:20,731 INFO L273 TraceCheckUtils]: 12: Hoare triple {1860#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1861#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:20,732 INFO L273 TraceCheckUtils]: 13: Hoare triple {1861#(<= main_~i~0 3)} assume true; {1861#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:20,733 INFO L273 TraceCheckUtils]: 14: Hoare triple {1861#(<= main_~i~0 3)} assume !(~i~0 < ~N~0); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:20,738 INFO L273 TraceCheckUtils]: 15: Hoare triple {1862#(<= ~N~0 3)} ~i~0 := 0; {1863#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:20,739 INFO L273 TraceCheckUtils]: 16: Hoare triple {1863#(and (<= ~N~0 3) (= main_~i~0 0))} assume true; {1863#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:20,740 INFO L273 TraceCheckUtils]: 17: Hoare triple {1863#(and (<= ~N~0 3) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1863#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:20,740 INFO L256 TraceCheckUtils]: 18: Hoare triple {1863#(and (<= ~N~0 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1856#true} is VALID [2018-11-14 18:49:20,740 INFO L273 TraceCheckUtils]: 19: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2018-11-14 18:49:20,740 INFO L273 TraceCheckUtils]: 20: Hoare triple {1856#true} assume !(~cond == 0); {1856#true} is VALID [2018-11-14 18:49:20,740 INFO L273 TraceCheckUtils]: 21: Hoare triple {1856#true} assume true; {1856#true} is VALID [2018-11-14 18:49:20,748 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1856#true} {1863#(and (<= ~N~0 3) (= main_~i~0 0))} #60#return; {1863#(and (<= ~N~0 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:20,748 INFO L273 TraceCheckUtils]: 23: Hoare triple {1863#(and (<= ~N~0 3) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1864#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:20,749 INFO L273 TraceCheckUtils]: 24: Hoare triple {1864#(<= ~N~0 (+ main_~i~0 2))} assume true; {1864#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:20,749 INFO L273 TraceCheckUtils]: 25: Hoare triple {1864#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1864#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:20,749 INFO L256 TraceCheckUtils]: 26: Hoare triple {1864#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1856#true} is VALID [2018-11-14 18:49:20,750 INFO L273 TraceCheckUtils]: 27: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2018-11-14 18:49:20,750 INFO L273 TraceCheckUtils]: 28: Hoare triple {1856#true} assume !(~cond == 0); {1856#true} is VALID [2018-11-14 18:49:20,750 INFO L273 TraceCheckUtils]: 29: Hoare triple {1856#true} assume true; {1856#true} is VALID [2018-11-14 18:49:20,751 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1856#true} {1864#(<= ~N~0 (+ main_~i~0 2))} #60#return; {1864#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:20,752 INFO L273 TraceCheckUtils]: 31: Hoare triple {1864#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1865#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:20,752 INFO L273 TraceCheckUtils]: 32: Hoare triple {1865#(<= ~N~0 (+ main_~i~0 1))} assume true; {1865#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:20,752 INFO L273 TraceCheckUtils]: 33: Hoare triple {1865#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1865#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:20,753 INFO L256 TraceCheckUtils]: 34: Hoare triple {1865#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1856#true} is VALID [2018-11-14 18:49:20,753 INFO L273 TraceCheckUtils]: 35: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2018-11-14 18:49:20,753 INFO L273 TraceCheckUtils]: 36: Hoare triple {1856#true} assume !(~cond == 0); {1856#true} is VALID [2018-11-14 18:49:20,753 INFO L273 TraceCheckUtils]: 37: Hoare triple {1856#true} assume true; {1856#true} is VALID [2018-11-14 18:49:20,753 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1856#true} {1865#(<= ~N~0 (+ main_~i~0 1))} #60#return; {1865#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:20,754 INFO L273 TraceCheckUtils]: 39: Hoare triple {1865#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1866#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:20,754 INFO L273 TraceCheckUtils]: 40: Hoare triple {1866#(<= ~N~0 main_~i~0)} assume true; {1866#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:20,755 INFO L273 TraceCheckUtils]: 41: Hoare triple {1866#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1857#false} is VALID [2018-11-14 18:49:20,755 INFO L256 TraceCheckUtils]: 42: Hoare triple {1857#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1857#false} is VALID [2018-11-14 18:49:20,756 INFO L273 TraceCheckUtils]: 43: Hoare triple {1857#false} ~cond := #in~cond; {1857#false} is VALID [2018-11-14 18:49:20,756 INFO L273 TraceCheckUtils]: 44: Hoare triple {1857#false} assume ~cond == 0; {1857#false} is VALID [2018-11-14 18:49:20,756 INFO L273 TraceCheckUtils]: 45: Hoare triple {1857#false} assume !false; {1857#false} is VALID [2018-11-14 18:49:20,759 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:49:20,759 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:20,759 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:20,768 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:20,838 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-14 18:49:20,839 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:20,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:20,871 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:21,399 INFO L256 TraceCheckUtils]: 0: Hoare triple {1856#true} call ULTIMATE.init(); {1856#true} is VALID [2018-11-14 18:49:21,400 INFO L273 TraceCheckUtils]: 1: Hoare triple {1856#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1856#true} is VALID [2018-11-14 18:49:21,400 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#true} assume true; {1856#true} is VALID [2018-11-14 18:49:21,400 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1856#true} {1856#true} #56#return; {1856#true} is VALID [2018-11-14 18:49:21,400 INFO L256 TraceCheckUtils]: 4: Hoare triple {1856#true} call #t~ret2 := main(); {1856#true} is VALID [2018-11-14 18:49:21,401 INFO L273 TraceCheckUtils]: 5: Hoare triple {1856#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {1856#true} is VALID [2018-11-14 18:49:21,402 INFO L273 TraceCheckUtils]: 6: Hoare triple {1856#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {1888#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:21,403 INFO L273 TraceCheckUtils]: 7: Hoare triple {1888#(<= main_~i~0 0)} assume true; {1888#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:21,403 INFO L273 TraceCheckUtils]: 8: Hoare triple {1888#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1859#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:21,404 INFO L273 TraceCheckUtils]: 9: Hoare triple {1859#(<= main_~i~0 1)} assume true; {1859#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:21,405 INFO L273 TraceCheckUtils]: 10: Hoare triple {1859#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1860#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:21,406 INFO L273 TraceCheckUtils]: 11: Hoare triple {1860#(<= main_~i~0 2)} assume true; {1860#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:21,409 INFO L273 TraceCheckUtils]: 12: Hoare triple {1860#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {1861#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:21,410 INFO L273 TraceCheckUtils]: 13: Hoare triple {1861#(<= main_~i~0 3)} assume true; {1861#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:21,411 INFO L273 TraceCheckUtils]: 14: Hoare triple {1861#(<= main_~i~0 3)} assume !(~i~0 < ~N~0); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,425 INFO L273 TraceCheckUtils]: 15: Hoare triple {1862#(<= ~N~0 3)} ~i~0 := 0; {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,431 INFO L273 TraceCheckUtils]: 16: Hoare triple {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} assume true; {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,432 INFO L273 TraceCheckUtils]: 17: Hoare triple {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,433 INFO L256 TraceCheckUtils]: 18: Hoare triple {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,434 INFO L273 TraceCheckUtils]: 19: Hoare triple {1862#(<= ~N~0 3)} ~cond := #in~cond; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,434 INFO L273 TraceCheckUtils]: 20: Hoare triple {1862#(<= ~N~0 3)} assume !(~cond == 0); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,435 INFO L273 TraceCheckUtils]: 21: Hoare triple {1862#(<= ~N~0 3)} assume true; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,436 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1862#(<= ~N~0 3)} {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} #60#return; {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,437 INFO L273 TraceCheckUtils]: 23: Hoare triple {1916#(and (<= 0 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,438 INFO L273 TraceCheckUtils]: 24: Hoare triple {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} assume true; {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,439 INFO L273 TraceCheckUtils]: 25: Hoare triple {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,440 INFO L256 TraceCheckUtils]: 26: Hoare triple {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,441 INFO L273 TraceCheckUtils]: 27: Hoare triple {1862#(<= ~N~0 3)} ~cond := #in~cond; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,441 INFO L273 TraceCheckUtils]: 28: Hoare triple {1862#(<= ~N~0 3)} assume !(~cond == 0); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,442 INFO L273 TraceCheckUtils]: 29: Hoare triple {1862#(<= ~N~0 3)} assume true; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,443 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {1862#(<= ~N~0 3)} {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} #60#return; {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,444 INFO L273 TraceCheckUtils]: 31: Hoare triple {1941#(and (<= 1 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,445 INFO L273 TraceCheckUtils]: 32: Hoare triple {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} assume true; {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,446 INFO L273 TraceCheckUtils]: 33: Hoare triple {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,447 INFO L256 TraceCheckUtils]: 34: Hoare triple {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,448 INFO L273 TraceCheckUtils]: 35: Hoare triple {1862#(<= ~N~0 3)} ~cond := #in~cond; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,448 INFO L273 TraceCheckUtils]: 36: Hoare triple {1862#(<= ~N~0 3)} assume !(~cond == 0); {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,449 INFO L273 TraceCheckUtils]: 37: Hoare triple {1862#(<= ~N~0 3)} assume true; {1862#(<= ~N~0 3)} is VALID [2018-11-14 18:49:21,450 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1862#(<= ~N~0 3)} {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} #60#return; {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} is VALID [2018-11-14 18:49:21,451 INFO L273 TraceCheckUtils]: 39: Hoare triple {1966#(and (<= 2 main_~i~0) (<= ~N~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {1991#(and (<= ~N~0 3) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:21,452 INFO L273 TraceCheckUtils]: 40: Hoare triple {1991#(and (<= ~N~0 3) (<= 3 main_~i~0))} assume true; {1991#(and (<= ~N~0 3) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:21,453 INFO L273 TraceCheckUtils]: 41: Hoare triple {1991#(and (<= ~N~0 3) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {1857#false} is VALID [2018-11-14 18:49:21,453 INFO L256 TraceCheckUtils]: 42: Hoare triple {1857#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {1857#false} is VALID [2018-11-14 18:49:21,454 INFO L273 TraceCheckUtils]: 43: Hoare triple {1857#false} ~cond := #in~cond; {1857#false} is VALID [2018-11-14 18:49:21,454 INFO L273 TraceCheckUtils]: 44: Hoare triple {1857#false} assume ~cond == 0; {1857#false} is VALID [2018-11-14 18:49:21,454 INFO L273 TraceCheckUtils]: 45: Hoare triple {1857#false} assume !false; {1857#false} is VALID [2018-11-14 18:49:21,459 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 27 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:49:21,480 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:21,480 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 16 [2018-11-14 18:49:21,481 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 46 [2018-11-14 18:49:21,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:21,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 18:49:21,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:21,549 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 18:49:21,549 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 18:49:21,550 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:49:21,550 INFO L87 Difference]: Start difference. First operand 49 states and 50 transitions. Second operand 16 states. [2018-11-14 18:49:22,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,328 INFO L93 Difference]: Finished difference Result 93 states and 96 transitions. [2018-11-14 18:49:22,328 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 18:49:22,328 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 46 [2018-11-14 18:49:22,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:22,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:49:22,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2018-11-14 18:49:22,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:49:22,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2018-11-14 18:49:22,355 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2018-11-14 18:49:22,452 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:22,455 INFO L225 Difference]: With dead ends: 93 [2018-11-14 18:49:22,455 INFO L226 Difference]: Without dead ends: 56 [2018-11-14 18:49:22,456 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=103, Invalid=277, Unknown=0, NotChecked=0, Total=380 [2018-11-14 18:49:22,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-14 18:49:22,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 51. [2018-11-14 18:49:22,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:22,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 51 states. [2018-11-14 18:49:22,536 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 51 states. [2018-11-14 18:49:22,537 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 51 states. [2018-11-14 18:49:22,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,540 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2018-11-14 18:49:22,540 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2018-11-14 18:49:22,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:22,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:22,541 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 56 states. [2018-11-14 18:49:22,541 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 56 states. [2018-11-14 18:49:22,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:22,543 INFO L93 Difference]: Finished difference Result 56 states and 58 transitions. [2018-11-14 18:49:22,543 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 58 transitions. [2018-11-14 18:49:22,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:22,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:22,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:22,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:22,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-14 18:49:22,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 52 transitions. [2018-11-14 18:49:22,546 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 52 transitions. Word has length 46 [2018-11-14 18:49:22,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:22,547 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 52 transitions. [2018-11-14 18:49:22,547 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 18:49:22,547 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2018-11-14 18:49:22,547 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-14 18:49:22,547 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:22,548 INFO L375 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:22,548 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:22,548 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:22,548 INFO L82 PathProgramCache]: Analyzing trace with hash -2060610411, now seen corresponding path program 6 times [2018-11-14 18:49:22,548 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:22,548 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:22,549 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:22,549 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:22,549 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:22,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:23,083 INFO L256 TraceCheckUtils]: 0: Hoare triple {2330#true} call ULTIMATE.init(); {2330#true} is VALID [2018-11-14 18:49:23,083 INFO L273 TraceCheckUtils]: 1: Hoare triple {2330#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2330#true} is VALID [2018-11-14 18:49:23,083 INFO L273 TraceCheckUtils]: 2: Hoare triple {2330#true} assume true; {2330#true} is VALID [2018-11-14 18:49:23,084 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2330#true} {2330#true} #56#return; {2330#true} is VALID [2018-11-14 18:49:23,084 INFO L256 TraceCheckUtils]: 4: Hoare triple {2330#true} call #t~ret2 := main(); {2330#true} is VALID [2018-11-14 18:49:23,084 INFO L273 TraceCheckUtils]: 5: Hoare triple {2330#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2330#true} is VALID [2018-11-14 18:49:23,085 INFO L273 TraceCheckUtils]: 6: Hoare triple {2330#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {2332#(= main_~k~0 0)} is VALID [2018-11-14 18:49:23,085 INFO L273 TraceCheckUtils]: 7: Hoare triple {2332#(= main_~k~0 0)} assume true; {2332#(= main_~k~0 0)} is VALID [2018-11-14 18:49:23,087 INFO L273 TraceCheckUtils]: 8: Hoare triple {2332#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:23,087 INFO L273 TraceCheckUtils]: 9: Hoare triple {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:23,089 INFO L273 TraceCheckUtils]: 10: Hoare triple {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:23,089 INFO L273 TraceCheckUtils]: 11: Hoare triple {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:23,091 INFO L273 TraceCheckUtils]: 12: Hoare triple {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:23,093 INFO L273 TraceCheckUtils]: 13: Hoare triple {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:23,093 INFO L273 TraceCheckUtils]: 14: Hoare triple {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,095 INFO L273 TraceCheckUtils]: 15: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} assume true; {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,095 INFO L273 TraceCheckUtils]: 16: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} assume !(~i~0 < ~N~0); {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,097 INFO L273 TraceCheckUtils]: 17: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} ~i~0 := 0; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,097 INFO L273 TraceCheckUtils]: 18: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} assume true; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,099 INFO L273 TraceCheckUtils]: 19: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,099 INFO L256 TraceCheckUtils]: 20: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2330#true} is VALID [2018-11-14 18:49:23,099 INFO L273 TraceCheckUtils]: 21: Hoare triple {2330#true} ~cond := #in~cond; {2338#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:23,101 INFO L273 TraceCheckUtils]: 22: Hoare triple {2338#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:23,101 INFO L273 TraceCheckUtils]: 23: Hoare triple {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:23,103 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} #60#return; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,103 INFO L273 TraceCheckUtils]: 25: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:23,105 INFO L273 TraceCheckUtils]: 26: Hoare triple {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume true; {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:23,105 INFO L273 TraceCheckUtils]: 27: Hoare triple {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:23,106 INFO L256 TraceCheckUtils]: 28: Hoare triple {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2330#true} is VALID [2018-11-14 18:49:23,106 INFO L273 TraceCheckUtils]: 29: Hoare triple {2330#true} ~cond := #in~cond; {2330#true} is VALID [2018-11-14 18:49:23,106 INFO L273 TraceCheckUtils]: 30: Hoare triple {2330#true} assume !(~cond == 0); {2330#true} is VALID [2018-11-14 18:49:23,106 INFO L273 TraceCheckUtils]: 31: Hoare triple {2330#true} assume true; {2330#true} is VALID [2018-11-14 18:49:23,111 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2330#true} {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #60#return; {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:23,112 INFO L273 TraceCheckUtils]: 33: Hoare triple {2340#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:23,113 INFO L273 TraceCheckUtils]: 34: Hoare triple {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume true; {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:23,113 INFO L273 TraceCheckUtils]: 35: Hoare triple {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:23,113 INFO L256 TraceCheckUtils]: 36: Hoare triple {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2330#true} is VALID [2018-11-14 18:49:23,113 INFO L273 TraceCheckUtils]: 37: Hoare triple {2330#true} ~cond := #in~cond; {2330#true} is VALID [2018-11-14 18:49:23,113 INFO L273 TraceCheckUtils]: 38: Hoare triple {2330#true} assume !(~cond == 0); {2330#true} is VALID [2018-11-14 18:49:23,114 INFO L273 TraceCheckUtils]: 39: Hoare triple {2330#true} assume true; {2330#true} is VALID [2018-11-14 18:49:23,115 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2330#true} {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #60#return; {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:23,116 INFO L273 TraceCheckUtils]: 41: Hoare triple {2341#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2342#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:23,117 INFO L273 TraceCheckUtils]: 42: Hoare triple {2342#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {2342#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:23,117 INFO L273 TraceCheckUtils]: 43: Hoare triple {2342#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2343#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:49:23,118 INFO L256 TraceCheckUtils]: 44: Hoare triple {2343#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:23,120 INFO L273 TraceCheckUtils]: 45: Hoare triple {2339#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2344#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:23,120 INFO L273 TraceCheckUtils]: 46: Hoare triple {2344#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {2331#false} is VALID [2018-11-14 18:49:23,121 INFO L273 TraceCheckUtils]: 47: Hoare triple {2331#false} assume !false; {2331#false} is VALID [2018-11-14 18:49:23,125 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 5 proven. 48 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-14 18:49:23,126 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:23,126 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:23,135 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:23,204 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-14 18:49:23,204 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:23,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:23,233 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:23,292 INFO L477 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-14 18:49:23,298 INFO L477 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-14 18:49:23,300 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:23,304 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:23,315 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 18:49:23,316 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:18 [2018-11-14 18:49:23,320 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:23,649 INFO L477 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 23 treesize of output 19 [2018-11-14 18:49:23,655 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:23,656 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-14 18:49:23,658 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:23,662 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:23,666 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-14 18:49:23,667 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:26, output treesize:7 [2018-11-14 18:49:23,669 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:23,762 INFO L256 TraceCheckUtils]: 0: Hoare triple {2330#true} call ULTIMATE.init(); {2330#true} is VALID [2018-11-14 18:49:23,762 INFO L273 TraceCheckUtils]: 1: Hoare triple {2330#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2330#true} is VALID [2018-11-14 18:49:23,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {2330#true} assume true; {2330#true} is VALID [2018-11-14 18:49:23,763 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2330#true} {2330#true} #56#return; {2330#true} is VALID [2018-11-14 18:49:23,763 INFO L256 TraceCheckUtils]: 4: Hoare triple {2330#true} call #t~ret2 := main(); {2330#true} is VALID [2018-11-14 18:49:23,763 INFO L273 TraceCheckUtils]: 5: Hoare triple {2330#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2330#true} is VALID [2018-11-14 18:49:23,763 INFO L273 TraceCheckUtils]: 6: Hoare triple {2330#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {2332#(= main_~k~0 0)} is VALID [2018-11-14 18:49:23,764 INFO L273 TraceCheckUtils]: 7: Hoare triple {2332#(= main_~k~0 0)} assume true; {2332#(= main_~k~0 0)} is VALID [2018-11-14 18:49:23,764 INFO L273 TraceCheckUtils]: 8: Hoare triple {2332#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:23,765 INFO L273 TraceCheckUtils]: 9: Hoare triple {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:23,765 INFO L273 TraceCheckUtils]: 10: Hoare triple {2333#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:23,766 INFO L273 TraceCheckUtils]: 11: Hoare triple {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:23,766 INFO L273 TraceCheckUtils]: 12: Hoare triple {2334#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:23,767 INFO L273 TraceCheckUtils]: 13: Hoare triple {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:23,768 INFO L273 TraceCheckUtils]: 14: Hoare triple {2335#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,768 INFO L273 TraceCheckUtils]: 15: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} assume true; {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,769 INFO L273 TraceCheckUtils]: 16: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} assume !(~i~0 < ~N~0); {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} is VALID [2018-11-14 18:49:23,770 INFO L273 TraceCheckUtils]: 17: Hoare triple {2336#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3)} ~i~0 := 0; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,770 INFO L273 TraceCheckUtils]: 18: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} assume true; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,771 INFO L273 TraceCheckUtils]: 19: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,773 INFO L256 TraceCheckUtils]: 20: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,773 INFO L273 TraceCheckUtils]: 21: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} ~cond := #in~cond; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,774 INFO L273 TraceCheckUtils]: 22: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume !(~cond == 0); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,775 INFO L273 TraceCheckUtils]: 23: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume true; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,776 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} #60#return; {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} is VALID [2018-11-14 18:49:23,776 INFO L273 TraceCheckUtils]: 25: Hoare triple {2337#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,777 INFO L273 TraceCheckUtils]: 26: Hoare triple {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume true; {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,778 INFO L273 TraceCheckUtils]: 27: Hoare triple {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,780 INFO L256 TraceCheckUtils]: 28: Hoare triple {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,780 INFO L273 TraceCheckUtils]: 29: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} ~cond := #in~cond; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,781 INFO L273 TraceCheckUtils]: 30: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume !(~cond == 0); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,781 INFO L273 TraceCheckUtils]: 31: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume true; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,782 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} #60#return; {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,783 INFO L273 TraceCheckUtils]: 33: Hoare triple {2424#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,784 INFO L273 TraceCheckUtils]: 34: Hoare triple {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume true; {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,785 INFO L273 TraceCheckUtils]: 35: Hoare triple {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,786 INFO L256 TraceCheckUtils]: 36: Hoare triple {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,787 INFO L273 TraceCheckUtils]: 37: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} ~cond := #in~cond; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,787 INFO L273 TraceCheckUtils]: 38: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume !(~cond == 0); {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,788 INFO L273 TraceCheckUtils]: 39: Hoare triple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} assume true; {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} is VALID [2018-11-14 18:49:23,789 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2408#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int) (|v_main_~#a~0.offset_BEFORE_CALL_4| Int)) (= 3 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (+ |v_main_~#a~0.offset_BEFORE_CALL_4| 12))))} {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} #60#return; {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,790 INFO L273 TraceCheckUtils]: 41: Hoare triple {2449#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2474#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,791 INFO L273 TraceCheckUtils]: 42: Hoare triple {2474#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume true; {2474#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} is VALID [2018-11-14 18:49:23,792 INFO L273 TraceCheckUtils]: 43: Hoare triple {2474#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 3))) 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2481#(and (= main_~i~0 3) (= 3 |main_#t~mem1|))} is VALID [2018-11-14 18:49:23,793 INFO L256 TraceCheckUtils]: 44: Hoare triple {2481#(and (= main_~i~0 3) (= 3 |main_#t~mem1|))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2485#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:23,793 INFO L273 TraceCheckUtils]: 45: Hoare triple {2485#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2489#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:23,794 INFO L273 TraceCheckUtils]: 46: Hoare triple {2489#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {2331#false} is VALID [2018-11-14 18:49:23,794 INFO L273 TraceCheckUtils]: 47: Hoare triple {2331#false} assume !false; {2331#false} is VALID [2018-11-14 18:49:23,800 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 0 proven. 47 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-14 18:49:23,820 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:23,821 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 22 [2018-11-14 18:49:23,821 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 48 [2018-11-14 18:49:23,822 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:23,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-14 18:49:23,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:23,892 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-14 18:49:23,893 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-14 18:49:23,893 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=406, Unknown=0, NotChecked=0, Total=462 [2018-11-14 18:49:23,893 INFO L87 Difference]: Start difference. First operand 51 states and 52 transitions. Second operand 22 states. [2018-11-14 18:49:25,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,543 INFO L93 Difference]: Finished difference Result 62 states and 63 transitions. [2018-11-14 18:49:25,543 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-14 18:49:25,543 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 48 [2018-11-14 18:49:25,543 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:25,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 18:49:25,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 54 transitions. [2018-11-14 18:49:25,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 18:49:25,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 54 transitions. [2018-11-14 18:49:25,548 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 54 transitions. [2018-11-14 18:49:25,617 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:25,619 INFO L225 Difference]: With dead ends: 62 [2018-11-14 18:49:25,619 INFO L226 Difference]: Without dead ends: 60 [2018-11-14 18:49:25,620 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 37 SyntacticMatches, 8 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=120, Invalid=810, Unknown=0, NotChecked=0, Total=930 [2018-11-14 18:49:25,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-11-14 18:49:25,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2018-11-14 18:49:25,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:25,749 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 59 states. [2018-11-14 18:49:25,749 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 59 states. [2018-11-14 18:49:25,750 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 59 states. [2018-11-14 18:49:25,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,751 INFO L93 Difference]: Finished difference Result 60 states and 61 transitions. [2018-11-14 18:49:25,752 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 61 transitions. [2018-11-14 18:49:25,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:25,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:25,752 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 60 states. [2018-11-14 18:49:25,752 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 60 states. [2018-11-14 18:49:25,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:25,755 INFO L93 Difference]: Finished difference Result 60 states and 61 transitions. [2018-11-14 18:49:25,755 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 61 transitions. [2018-11-14 18:49:25,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:25,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:25,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:25,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:25,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-14 18:49:25,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 60 transitions. [2018-11-14 18:49:25,758 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 60 transitions. Word has length 48 [2018-11-14 18:49:25,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:25,758 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 60 transitions. [2018-11-14 18:49:25,758 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-14 18:49:25,759 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 60 transitions. [2018-11-14 18:49:25,759 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-14 18:49:25,759 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:25,759 INFO L375 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:25,760 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:25,760 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:25,760 INFO L82 PathProgramCache]: Analyzing trace with hash 478830676, now seen corresponding path program 7 times [2018-11-14 18:49:25,760 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:25,760 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:25,761 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:25,761 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:25,761 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:25,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:25,953 INFO L256 TraceCheckUtils]: 0: Hoare triple {2803#true} call ULTIMATE.init(); {2803#true} is VALID [2018-11-14 18:49:25,954 INFO L273 TraceCheckUtils]: 1: Hoare triple {2803#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2803#true} is VALID [2018-11-14 18:49:25,954 INFO L273 TraceCheckUtils]: 2: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:25,954 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2803#true} {2803#true} #56#return; {2803#true} is VALID [2018-11-14 18:49:25,955 INFO L256 TraceCheckUtils]: 4: Hoare triple {2803#true} call #t~ret2 := main(); {2803#true} is VALID [2018-11-14 18:49:25,955 INFO L273 TraceCheckUtils]: 5: Hoare triple {2803#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2803#true} is VALID [2018-11-14 18:49:25,957 INFO L273 TraceCheckUtils]: 6: Hoare triple {2803#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {2805#(= main_~i~0 0)} is VALID [2018-11-14 18:49:25,957 INFO L273 TraceCheckUtils]: 7: Hoare triple {2805#(= main_~i~0 0)} assume true; {2805#(= main_~i~0 0)} is VALID [2018-11-14 18:49:25,958 INFO L273 TraceCheckUtils]: 8: Hoare triple {2805#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2806#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:25,958 INFO L273 TraceCheckUtils]: 9: Hoare triple {2806#(<= main_~i~0 1)} assume true; {2806#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:25,959 INFO L273 TraceCheckUtils]: 10: Hoare triple {2806#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2807#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:25,959 INFO L273 TraceCheckUtils]: 11: Hoare triple {2807#(<= main_~i~0 2)} assume true; {2807#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:25,960 INFO L273 TraceCheckUtils]: 12: Hoare triple {2807#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2808#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:25,960 INFO L273 TraceCheckUtils]: 13: Hoare triple {2808#(<= main_~i~0 3)} assume true; {2808#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:25,960 INFO L273 TraceCheckUtils]: 14: Hoare triple {2808#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2809#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:25,961 INFO L273 TraceCheckUtils]: 15: Hoare triple {2809#(<= main_~i~0 4)} assume true; {2809#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:25,961 INFO L273 TraceCheckUtils]: 16: Hoare triple {2809#(<= main_~i~0 4)} assume !(~i~0 < ~N~0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:25,962 INFO L273 TraceCheckUtils]: 17: Hoare triple {2810#(<= ~N~0 4)} ~i~0 := 0; {2811#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-14 18:49:25,963 INFO L273 TraceCheckUtils]: 18: Hoare triple {2811#(and (<= ~N~0 4) (= main_~i~0 0))} assume true; {2811#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-14 18:49:25,963 INFO L273 TraceCheckUtils]: 19: Hoare triple {2811#(and (<= ~N~0 4) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2811#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-14 18:49:25,964 INFO L256 TraceCheckUtils]: 20: Hoare triple {2811#(and (<= ~N~0 4) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2803#true} is VALID [2018-11-14 18:49:25,964 INFO L273 TraceCheckUtils]: 21: Hoare triple {2803#true} ~cond := #in~cond; {2803#true} is VALID [2018-11-14 18:49:25,964 INFO L273 TraceCheckUtils]: 22: Hoare triple {2803#true} assume !(~cond == 0); {2803#true} is VALID [2018-11-14 18:49:25,964 INFO L273 TraceCheckUtils]: 23: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:25,965 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2803#true} {2811#(and (<= ~N~0 4) (= main_~i~0 0))} #60#return; {2811#(and (<= ~N~0 4) (= main_~i~0 0))} is VALID [2018-11-14 18:49:25,966 INFO L273 TraceCheckUtils]: 25: Hoare triple {2811#(and (<= ~N~0 4) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2812#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:25,966 INFO L273 TraceCheckUtils]: 26: Hoare triple {2812#(<= ~N~0 (+ main_~i~0 3))} assume true; {2812#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:25,966 INFO L273 TraceCheckUtils]: 27: Hoare triple {2812#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2812#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:25,967 INFO L256 TraceCheckUtils]: 28: Hoare triple {2812#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2803#true} is VALID [2018-11-14 18:49:25,967 INFO L273 TraceCheckUtils]: 29: Hoare triple {2803#true} ~cond := #in~cond; {2803#true} is VALID [2018-11-14 18:49:25,967 INFO L273 TraceCheckUtils]: 30: Hoare triple {2803#true} assume !(~cond == 0); {2803#true} is VALID [2018-11-14 18:49:25,967 INFO L273 TraceCheckUtils]: 31: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:25,967 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2803#true} {2812#(<= ~N~0 (+ main_~i~0 3))} #60#return; {2812#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:25,968 INFO L273 TraceCheckUtils]: 33: Hoare triple {2812#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2813#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:25,968 INFO L273 TraceCheckUtils]: 34: Hoare triple {2813#(<= ~N~0 (+ main_~i~0 2))} assume true; {2813#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:25,969 INFO L273 TraceCheckUtils]: 35: Hoare triple {2813#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2813#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:25,969 INFO L256 TraceCheckUtils]: 36: Hoare triple {2813#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2803#true} is VALID [2018-11-14 18:49:25,969 INFO L273 TraceCheckUtils]: 37: Hoare triple {2803#true} ~cond := #in~cond; {2803#true} is VALID [2018-11-14 18:49:25,970 INFO L273 TraceCheckUtils]: 38: Hoare triple {2803#true} assume !(~cond == 0); {2803#true} is VALID [2018-11-14 18:49:25,970 INFO L273 TraceCheckUtils]: 39: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:25,971 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2803#true} {2813#(<= ~N~0 (+ main_~i~0 2))} #60#return; {2813#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:25,972 INFO L273 TraceCheckUtils]: 41: Hoare triple {2813#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2814#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:25,972 INFO L273 TraceCheckUtils]: 42: Hoare triple {2814#(<= ~N~0 (+ main_~i~0 1))} assume true; {2814#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:25,973 INFO L273 TraceCheckUtils]: 43: Hoare triple {2814#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2814#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:25,973 INFO L256 TraceCheckUtils]: 44: Hoare triple {2814#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2803#true} is VALID [2018-11-14 18:49:25,973 INFO L273 TraceCheckUtils]: 45: Hoare triple {2803#true} ~cond := #in~cond; {2803#true} is VALID [2018-11-14 18:49:25,973 INFO L273 TraceCheckUtils]: 46: Hoare triple {2803#true} assume !(~cond == 0); {2803#true} is VALID [2018-11-14 18:49:25,974 INFO L273 TraceCheckUtils]: 47: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:25,975 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2803#true} {2814#(<= ~N~0 (+ main_~i~0 1))} #60#return; {2814#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:25,975 INFO L273 TraceCheckUtils]: 49: Hoare triple {2814#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2815#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:25,976 INFO L273 TraceCheckUtils]: 50: Hoare triple {2815#(<= ~N~0 main_~i~0)} assume true; {2815#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:25,976 INFO L273 TraceCheckUtils]: 51: Hoare triple {2815#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2804#false} is VALID [2018-11-14 18:49:25,976 INFO L256 TraceCheckUtils]: 52: Hoare triple {2804#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2804#false} is VALID [2018-11-14 18:49:25,976 INFO L273 TraceCheckUtils]: 53: Hoare triple {2804#false} ~cond := #in~cond; {2804#false} is VALID [2018-11-14 18:49:25,976 INFO L273 TraceCheckUtils]: 54: Hoare triple {2804#false} assume ~cond == 0; {2804#false} is VALID [2018-11-14 18:49:25,977 INFO L273 TraceCheckUtils]: 55: Hoare triple {2804#false} assume !false; {2804#false} is VALID [2018-11-14 18:49:25,980 INFO L134 CoverageAnalysis]: Checked inductivity of 88 backedges. 30 proven. 34 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-14 18:49:25,980 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:25,980 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:25,992 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:26,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:26,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:26,058 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:26,517 INFO L256 TraceCheckUtils]: 0: Hoare triple {2803#true} call ULTIMATE.init(); {2803#true} is VALID [2018-11-14 18:49:26,517 INFO L273 TraceCheckUtils]: 1: Hoare triple {2803#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2803#true} is VALID [2018-11-14 18:49:26,517 INFO L273 TraceCheckUtils]: 2: Hoare triple {2803#true} assume true; {2803#true} is VALID [2018-11-14 18:49:26,517 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2803#true} {2803#true} #56#return; {2803#true} is VALID [2018-11-14 18:49:26,518 INFO L256 TraceCheckUtils]: 4: Hoare triple {2803#true} call #t~ret2 := main(); {2803#true} is VALID [2018-11-14 18:49:26,518 INFO L273 TraceCheckUtils]: 5: Hoare triple {2803#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {2803#true} is VALID [2018-11-14 18:49:26,518 INFO L273 TraceCheckUtils]: 6: Hoare triple {2803#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {2837#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:26,519 INFO L273 TraceCheckUtils]: 7: Hoare triple {2837#(<= main_~i~0 0)} assume true; {2837#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:26,519 INFO L273 TraceCheckUtils]: 8: Hoare triple {2837#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2806#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:26,520 INFO L273 TraceCheckUtils]: 9: Hoare triple {2806#(<= main_~i~0 1)} assume true; {2806#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:26,520 INFO L273 TraceCheckUtils]: 10: Hoare triple {2806#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2807#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:26,520 INFO L273 TraceCheckUtils]: 11: Hoare triple {2807#(<= main_~i~0 2)} assume true; {2807#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:26,521 INFO L273 TraceCheckUtils]: 12: Hoare triple {2807#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2808#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:26,530 INFO L273 TraceCheckUtils]: 13: Hoare triple {2808#(<= main_~i~0 3)} assume true; {2808#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:26,544 INFO L273 TraceCheckUtils]: 14: Hoare triple {2808#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {2809#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:26,553 INFO L273 TraceCheckUtils]: 15: Hoare triple {2809#(<= main_~i~0 4)} assume true; {2809#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:26,559 INFO L273 TraceCheckUtils]: 16: Hoare triple {2809#(<= main_~i~0 4)} assume !(~i~0 < ~N~0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,560 INFO L273 TraceCheckUtils]: 17: Hoare triple {2810#(<= ~N~0 4)} ~i~0 := 0; {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,562 INFO L273 TraceCheckUtils]: 18: Hoare triple {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} assume true; {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,562 INFO L273 TraceCheckUtils]: 19: Hoare triple {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,564 INFO L256 TraceCheckUtils]: 20: Hoare triple {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,564 INFO L273 TraceCheckUtils]: 21: Hoare triple {2810#(<= ~N~0 4)} ~cond := #in~cond; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,564 INFO L273 TraceCheckUtils]: 22: Hoare triple {2810#(<= ~N~0 4)} assume !(~cond == 0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,565 INFO L273 TraceCheckUtils]: 23: Hoare triple {2810#(<= ~N~0 4)} assume true; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,565 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2810#(<= ~N~0 4)} {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} #60#return; {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,566 INFO L273 TraceCheckUtils]: 25: Hoare triple {2871#(and (<= 0 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,567 INFO L273 TraceCheckUtils]: 26: Hoare triple {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} assume true; {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,568 INFO L273 TraceCheckUtils]: 27: Hoare triple {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,569 INFO L256 TraceCheckUtils]: 28: Hoare triple {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,569 INFO L273 TraceCheckUtils]: 29: Hoare triple {2810#(<= ~N~0 4)} ~cond := #in~cond; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,570 INFO L273 TraceCheckUtils]: 30: Hoare triple {2810#(<= ~N~0 4)} assume !(~cond == 0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,570 INFO L273 TraceCheckUtils]: 31: Hoare triple {2810#(<= ~N~0 4)} assume true; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,571 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2810#(<= ~N~0 4)} {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} #60#return; {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,572 INFO L273 TraceCheckUtils]: 33: Hoare triple {2896#(and (<= 1 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,573 INFO L273 TraceCheckUtils]: 34: Hoare triple {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} assume true; {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,574 INFO L273 TraceCheckUtils]: 35: Hoare triple {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,575 INFO L256 TraceCheckUtils]: 36: Hoare triple {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,575 INFO L273 TraceCheckUtils]: 37: Hoare triple {2810#(<= ~N~0 4)} ~cond := #in~cond; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,576 INFO L273 TraceCheckUtils]: 38: Hoare triple {2810#(<= ~N~0 4)} assume !(~cond == 0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,576 INFO L273 TraceCheckUtils]: 39: Hoare triple {2810#(<= ~N~0 4)} assume true; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,582 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {2810#(<= ~N~0 4)} {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} #60#return; {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,583 INFO L273 TraceCheckUtils]: 41: Hoare triple {2921#(and (<= 2 main_~i~0) (<= ~N~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:26,583 INFO L273 TraceCheckUtils]: 42: Hoare triple {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} assume true; {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:26,584 INFO L273 TraceCheckUtils]: 43: Hoare triple {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:26,584 INFO L256 TraceCheckUtils]: 44: Hoare triple {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,585 INFO L273 TraceCheckUtils]: 45: Hoare triple {2810#(<= ~N~0 4)} ~cond := #in~cond; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,585 INFO L273 TraceCheckUtils]: 46: Hoare triple {2810#(<= ~N~0 4)} assume !(~cond == 0); {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,586 INFO L273 TraceCheckUtils]: 47: Hoare triple {2810#(<= ~N~0 4)} assume true; {2810#(<= ~N~0 4)} is VALID [2018-11-14 18:49:26,586 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2810#(<= ~N~0 4)} {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} #60#return; {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:26,587 INFO L273 TraceCheckUtils]: 49: Hoare triple {2946#(and (<= ~N~0 4) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {2971#(and (<= 4 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,588 INFO L273 TraceCheckUtils]: 50: Hoare triple {2971#(and (<= 4 main_~i~0) (<= ~N~0 4))} assume true; {2971#(and (<= 4 main_~i~0) (<= ~N~0 4))} is VALID [2018-11-14 18:49:26,589 INFO L273 TraceCheckUtils]: 51: Hoare triple {2971#(and (<= 4 main_~i~0) (<= ~N~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {2804#false} is VALID [2018-11-14 18:49:26,589 INFO L256 TraceCheckUtils]: 52: Hoare triple {2804#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {2804#false} is VALID [2018-11-14 18:49:26,589 INFO L273 TraceCheckUtils]: 53: Hoare triple {2804#false} ~cond := #in~cond; {2804#false} is VALID [2018-11-14 18:49:26,590 INFO L273 TraceCheckUtils]: 54: Hoare triple {2804#false} assume ~cond == 0; {2804#false} is VALID [2018-11-14 18:49:26,590 INFO L273 TraceCheckUtils]: 55: Hoare triple {2804#false} assume !false; {2804#false} is VALID [2018-11-14 18:49:26,593 INFO L134 CoverageAnalysis]: Checked inductivity of 88 backedges. 44 proven. 20 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-14 18:49:26,614 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:26,615 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 19 [2018-11-14 18:49:26,615 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 56 [2018-11-14 18:49:26,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:26,616 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 18:49:26,686 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:26,686 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 18:49:26,687 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 18:49:26,687 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=253, Unknown=0, NotChecked=0, Total=342 [2018-11-14 18:49:26,688 INFO L87 Difference]: Start difference. First operand 59 states and 60 transitions. Second operand 19 states. [2018-11-14 18:49:27,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:27,764 INFO L93 Difference]: Finished difference Result 111 states and 114 transitions. [2018-11-14 18:49:27,764 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-14 18:49:27,765 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 56 [2018-11-14 18:49:27,765 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:27,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:49:27,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 93 transitions. [2018-11-14 18:49:27,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:49:27,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 93 transitions. [2018-11-14 18:49:27,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 93 transitions. [2018-11-14 18:49:27,865 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:27,868 INFO L225 Difference]: With dead ends: 111 [2018-11-14 18:49:27,868 INFO L226 Difference]: Without dead ends: 66 [2018-11-14 18:49:27,869 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 51 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 119 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=144, Invalid=408, Unknown=0, NotChecked=0, Total=552 [2018-11-14 18:49:27,870 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-14 18:49:28,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 61. [2018-11-14 18:49:28,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:28,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 61 states. [2018-11-14 18:49:28,102 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 61 states. [2018-11-14 18:49:28,102 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 61 states. [2018-11-14 18:49:28,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:28,105 INFO L93 Difference]: Finished difference Result 66 states and 68 transitions. [2018-11-14 18:49:28,105 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 68 transitions. [2018-11-14 18:49:28,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:28,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:28,106 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 66 states. [2018-11-14 18:49:28,106 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 66 states. [2018-11-14 18:49:28,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:28,109 INFO L93 Difference]: Finished difference Result 66 states and 68 transitions. [2018-11-14 18:49:28,109 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 68 transitions. [2018-11-14 18:49:28,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:28,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:28,109 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:28,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:28,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-14 18:49:28,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 62 transitions. [2018-11-14 18:49:28,112 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 62 transitions. Word has length 56 [2018-11-14 18:49:28,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:28,112 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 62 transitions. [2018-11-14 18:49:28,112 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 18:49:28,112 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 62 transitions. [2018-11-14 18:49:28,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-14 18:49:28,113 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:28,113 INFO L375 BasicCegarLoop]: trace histogram [6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:28,114 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:28,114 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:28,114 INFO L82 PathProgramCache]: Analyzing trace with hash 769941070, now seen corresponding path program 8 times [2018-11-14 18:49:28,114 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:28,114 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:28,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:28,115 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:49:28,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:28,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:28,877 INFO L256 TraceCheckUtils]: 0: Hoare triple {3371#true} call ULTIMATE.init(); {3371#true} is VALID [2018-11-14 18:49:28,877 INFO L273 TraceCheckUtils]: 1: Hoare triple {3371#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3371#true} is VALID [2018-11-14 18:49:28,877 INFO L273 TraceCheckUtils]: 2: Hoare triple {3371#true} assume true; {3371#true} is VALID [2018-11-14 18:49:28,878 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3371#true} {3371#true} #56#return; {3371#true} is VALID [2018-11-14 18:49:28,878 INFO L256 TraceCheckUtils]: 4: Hoare triple {3371#true} call #t~ret2 := main(); {3371#true} is VALID [2018-11-14 18:49:28,878 INFO L273 TraceCheckUtils]: 5: Hoare triple {3371#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3371#true} is VALID [2018-11-14 18:49:28,879 INFO L273 TraceCheckUtils]: 6: Hoare triple {3371#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,880 INFO L273 TraceCheckUtils]: 7: Hoare triple {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,880 INFO L273 TraceCheckUtils]: 8: Hoare triple {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:28,881 INFO L273 TraceCheckUtils]: 9: Hoare triple {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume true; {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:28,882 INFO L273 TraceCheckUtils]: 10: Hoare triple {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,883 INFO L273 TraceCheckUtils]: 11: Hoare triple {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,884 INFO L273 TraceCheckUtils]: 12: Hoare triple {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,885 INFO L273 TraceCheckUtils]: 13: Hoare triple {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume true; {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,886 INFO L273 TraceCheckUtils]: 14: Hoare triple {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,886 INFO L273 TraceCheckUtils]: 15: Hoare triple {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,888 INFO L273 TraceCheckUtils]: 16: Hoare triple {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,889 INFO L273 TraceCheckUtils]: 17: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,890 INFO L273 TraceCheckUtils]: 18: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,891 INFO L273 TraceCheckUtils]: 19: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,892 INFO L273 TraceCheckUtils]: 20: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,893 INFO L273 TraceCheckUtils]: 21: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,893 INFO L256 TraceCheckUtils]: 22: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3371#true} is VALID [2018-11-14 18:49:28,894 INFO L273 TraceCheckUtils]: 23: Hoare triple {3371#true} ~cond := #in~cond; {3380#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:28,894 INFO L273 TraceCheckUtils]: 24: Hoare triple {3380#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:28,895 INFO L273 TraceCheckUtils]: 25: Hoare triple {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:28,896 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,898 INFO L273 TraceCheckUtils]: 27: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,899 INFO L273 TraceCheckUtils]: 28: Hoare triple {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume true; {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,900 INFO L273 TraceCheckUtils]: 29: Hoare triple {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,900 INFO L256 TraceCheckUtils]: 30: Hoare triple {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3371#true} is VALID [2018-11-14 18:49:28,901 INFO L273 TraceCheckUtils]: 31: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2018-11-14 18:49:28,901 INFO L273 TraceCheckUtils]: 32: Hoare triple {3371#true} assume !(~cond == 0); {3371#true} is VALID [2018-11-14 18:49:28,901 INFO L273 TraceCheckUtils]: 33: Hoare triple {3371#true} assume true; {3371#true} is VALID [2018-11-14 18:49:28,924 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3371#true} {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} #60#return; {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,925 INFO L273 TraceCheckUtils]: 35: Hoare triple {3382#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,926 INFO L273 TraceCheckUtils]: 36: Hoare triple {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume true; {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,927 INFO L273 TraceCheckUtils]: 37: Hoare triple {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,927 INFO L256 TraceCheckUtils]: 38: Hoare triple {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3371#true} is VALID [2018-11-14 18:49:28,927 INFO L273 TraceCheckUtils]: 39: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2018-11-14 18:49:28,927 INFO L273 TraceCheckUtils]: 40: Hoare triple {3371#true} assume !(~cond == 0); {3371#true} is VALID [2018-11-14 18:49:28,927 INFO L273 TraceCheckUtils]: 41: Hoare triple {3371#true} assume true; {3371#true} is VALID [2018-11-14 18:49:28,928 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3371#true} {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} #60#return; {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,930 INFO L273 TraceCheckUtils]: 43: Hoare triple {3383#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,931 INFO L273 TraceCheckUtils]: 44: Hoare triple {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume true; {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,932 INFO L273 TraceCheckUtils]: 45: Hoare triple {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,932 INFO L256 TraceCheckUtils]: 46: Hoare triple {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3371#true} is VALID [2018-11-14 18:49:28,932 INFO L273 TraceCheckUtils]: 47: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2018-11-14 18:49:28,933 INFO L273 TraceCheckUtils]: 48: Hoare triple {3371#true} assume !(~cond == 0); {3371#true} is VALID [2018-11-14 18:49:28,933 INFO L273 TraceCheckUtils]: 49: Hoare triple {3371#true} assume true; {3371#true} is VALID [2018-11-14 18:49:28,934 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3371#true} {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} #60#return; {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,936 INFO L273 TraceCheckUtils]: 51: Hoare triple {3384#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3385#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,937 INFO L273 TraceCheckUtils]: 52: Hoare triple {3385#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume true; {3385#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:28,937 INFO L273 TraceCheckUtils]: 53: Hoare triple {3385#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3386#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:49:28,941 INFO L256 TraceCheckUtils]: 54: Hoare triple {3386#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:28,942 INFO L273 TraceCheckUtils]: 55: Hoare triple {3381#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3387#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:28,942 INFO L273 TraceCheckUtils]: 56: Hoare triple {3387#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {3372#false} is VALID [2018-11-14 18:49:28,942 INFO L273 TraceCheckUtils]: 57: Hoare triple {3372#false} assume !false; {3372#false} is VALID [2018-11-14 18:49:28,952 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 7 proven. 76 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:49:28,952 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:28,952 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:28,984 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:49:29,021 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:49:29,021 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:29,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:29,047 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:29,116 INFO L477 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 17 treesize of output 14 [2018-11-14 18:49:29,137 INFO L477 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 14 treesize of output 13 [2018-11-14 18:49:29,139 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:29,141 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:29,146 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:29,147 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:49:29,659 INFO L477 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 17 treesize of output 13 [2018-11-14 18:49:29,665 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:29,666 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-14 18:49:29,667 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:29,671 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:29,676 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-14 18:49:29,676 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:49:29,679 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:29,769 INFO L256 TraceCheckUtils]: 0: Hoare triple {3371#true} call ULTIMATE.init(); {3371#true} is VALID [2018-11-14 18:49:29,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {3371#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3371#true} is VALID [2018-11-14 18:49:29,769 INFO L273 TraceCheckUtils]: 2: Hoare triple {3371#true} assume true; {3371#true} is VALID [2018-11-14 18:49:29,769 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3371#true} {3371#true} #56#return; {3371#true} is VALID [2018-11-14 18:49:29,770 INFO L256 TraceCheckUtils]: 4: Hoare triple {3371#true} call #t~ret2 := main(); {3371#true} is VALID [2018-11-14 18:49:29,770 INFO L273 TraceCheckUtils]: 5: Hoare triple {3371#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3371#true} is VALID [2018-11-14 18:49:29,770 INFO L273 TraceCheckUtils]: 6: Hoare triple {3371#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,771 INFO L273 TraceCheckUtils]: 7: Hoare triple {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,771 INFO L273 TraceCheckUtils]: 8: Hoare triple {3373#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:29,772 INFO L273 TraceCheckUtils]: 9: Hoare triple {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume true; {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:29,772 INFO L273 TraceCheckUtils]: 10: Hoare triple {3374#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,773 INFO L273 TraceCheckUtils]: 11: Hoare triple {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,773 INFO L273 TraceCheckUtils]: 12: Hoare triple {3375#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,774 INFO L273 TraceCheckUtils]: 13: Hoare triple {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume true; {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,775 INFO L273 TraceCheckUtils]: 14: Hoare triple {3376#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,775 INFO L273 TraceCheckUtils]: 15: Hoare triple {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,777 INFO L273 TraceCheckUtils]: 16: Hoare triple {3377#(and (= main_~k~0 (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,777 INFO L273 TraceCheckUtils]: 17: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,778 INFO L273 TraceCheckUtils]: 18: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,779 INFO L273 TraceCheckUtils]: 19: Hoare triple {3378#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,780 INFO L273 TraceCheckUtils]: 20: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,781 INFO L273 TraceCheckUtils]: 21: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,782 INFO L256 TraceCheckUtils]: 22: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,783 INFO L273 TraceCheckUtils]: 23: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {3461#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:49:29,784 INFO L273 TraceCheckUtils]: 24: Hoare triple {3461#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {3465#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} is VALID [2018-11-14 18:49:29,784 INFO L273 TraceCheckUtils]: 25: Hoare triple {3465#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} assume true; {3465#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} is VALID [2018-11-14 18:49:29,785 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3465#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4)))} {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,786 INFO L273 TraceCheckUtils]: 27: Hoare triple {3379#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,787 INFO L273 TraceCheckUtils]: 28: Hoare triple {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,788 INFO L273 TraceCheckUtils]: 29: Hoare triple {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,790 INFO L256 TraceCheckUtils]: 30: Hoare triple {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,790 INFO L273 TraceCheckUtils]: 31: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,791 INFO L273 TraceCheckUtils]: 32: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(~cond == 0); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,791 INFO L273 TraceCheckUtils]: 33: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,792 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #60#return; {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,793 INFO L273 TraceCheckUtils]: 35: Hoare triple {3475#(and (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,794 INFO L273 TraceCheckUtils]: 36: Hoare triple {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,795 INFO L273 TraceCheckUtils]: 37: Hoare triple {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,796 INFO L256 TraceCheckUtils]: 38: Hoare triple {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,797 INFO L273 TraceCheckUtils]: 39: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,798 INFO L273 TraceCheckUtils]: 40: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(~cond == 0); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,798 INFO L273 TraceCheckUtils]: 41: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,799 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #60#return; {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,800 INFO L273 TraceCheckUtils]: 43: Hoare triple {3500#(and (= main_~i~0 2) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,801 INFO L273 TraceCheckUtils]: 44: Hoare triple {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,802 INFO L273 TraceCheckUtils]: 45: Hoare triple {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,803 INFO L256 TraceCheckUtils]: 46: Hoare triple {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,804 INFO L273 TraceCheckUtils]: 47: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} ~cond := #in~cond; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,804 INFO L273 TraceCheckUtils]: 48: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume !(~cond == 0); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,805 INFO L273 TraceCheckUtils]: 49: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} assume true; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} is VALID [2018-11-14 18:49:29,806 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) 16) 4))} {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #60#return; {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,807 INFO L273 TraceCheckUtils]: 51: Hoare triple {3525#(and (= main_~i~0 3) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,808 INFO L273 TraceCheckUtils]: 52: Hoare triple {3550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume true; {3550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:29,809 INFO L273 TraceCheckUtils]: 53: Hoare triple {3550#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 4))) (+ |main_~#a~0.offset| 4)) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3557#(and (= 4 |main_#t~mem1|) (= main_~i~0 4))} is VALID [2018-11-14 18:49:29,809 INFO L256 TraceCheckUtils]: 54: Hoare triple {3557#(and (= 4 |main_#t~mem1|) (= main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3561#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:29,810 INFO L273 TraceCheckUtils]: 55: Hoare triple {3561#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3565#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:29,811 INFO L273 TraceCheckUtils]: 56: Hoare triple {3565#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {3372#false} is VALID [2018-11-14 18:49:29,811 INFO L273 TraceCheckUtils]: 57: Hoare triple {3372#false} assume !false; {3372#false} is VALID [2018-11-14 18:49:29,820 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 0 proven. 83 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:49:29,840 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:29,841 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 19] total 27 [2018-11-14 18:49:29,841 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 58 [2018-11-14 18:49:29,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:29,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-14 18:49:29,943 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:29,943 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-14 18:49:29,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-14 18:49:29,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=629, Unknown=0, NotChecked=0, Total=702 [2018-11-14 18:49:29,944 INFO L87 Difference]: Start difference. First operand 61 states and 62 transitions. Second operand 27 states. [2018-11-14 18:49:33,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,410 INFO L93 Difference]: Finished difference Result 72 states and 73 transitions. [2018-11-14 18:49:33,410 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-14 18:49:33,410 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 58 [2018-11-14 18:49:33,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:33,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:49:33,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 61 transitions. [2018-11-14 18:49:33,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:49:33,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 61 transitions. [2018-11-14 18:49:33,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 61 transitions. [2018-11-14 18:49:33,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:33,498 INFO L225 Difference]: With dead ends: 72 [2018-11-14 18:49:33,498 INFO L226 Difference]: Without dead ends: 70 [2018-11-14 18:49:33,499 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 39 SyntacticMatches, 12 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 210 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=144, Invalid=1116, Unknown=0, NotChecked=0, Total=1260 [2018-11-14 18:49:33,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-14 18:49:33,638 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-14 18:49:33,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:33,639 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 69 states. [2018-11-14 18:49:33,639 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 69 states. [2018-11-14 18:49:33,639 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 69 states. [2018-11-14 18:49:33,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,642 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-14 18:49:33,642 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-14 18:49:33,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:33,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:33,642 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 70 states. [2018-11-14 18:49:33,642 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 70 states. [2018-11-14 18:49:33,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:33,644 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2018-11-14 18:49:33,644 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2018-11-14 18:49:33,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:33,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:33,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:33,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:33,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-14 18:49:33,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 70 transitions. [2018-11-14 18:49:33,646 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 70 transitions. Word has length 58 [2018-11-14 18:49:33,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:33,647 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 70 transitions. [2018-11-14 18:49:33,647 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-14 18:49:33,647 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 70 transitions. [2018-11-14 18:49:33,648 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2018-11-14 18:49:33,648 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:33,648 INFO L375 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:33,648 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:33,649 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:33,649 INFO L82 PathProgramCache]: Analyzing trace with hash -1881382643, now seen corresponding path program 9 times [2018-11-14 18:49:33,649 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:33,649 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:33,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:33,650 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:33,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:33,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:34,515 INFO L256 TraceCheckUtils]: 0: Hoare triple {3926#true} call ULTIMATE.init(); {3926#true} is VALID [2018-11-14 18:49:34,515 INFO L273 TraceCheckUtils]: 1: Hoare triple {3926#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3926#true} is VALID [2018-11-14 18:49:34,516 INFO L273 TraceCheckUtils]: 2: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,516 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3926#true} {3926#true} #56#return; {3926#true} is VALID [2018-11-14 18:49:34,516 INFO L256 TraceCheckUtils]: 4: Hoare triple {3926#true} call #t~ret2 := main(); {3926#true} is VALID [2018-11-14 18:49:34,516 INFO L273 TraceCheckUtils]: 5: Hoare triple {3926#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3926#true} is VALID [2018-11-14 18:49:34,517 INFO L273 TraceCheckUtils]: 6: Hoare triple {3926#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {3928#(= main_~i~0 0)} is VALID [2018-11-14 18:49:34,517 INFO L273 TraceCheckUtils]: 7: Hoare triple {3928#(= main_~i~0 0)} assume true; {3928#(= main_~i~0 0)} is VALID [2018-11-14 18:49:34,518 INFO L273 TraceCheckUtils]: 8: Hoare triple {3928#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3929#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:34,518 INFO L273 TraceCheckUtils]: 9: Hoare triple {3929#(<= main_~i~0 1)} assume true; {3929#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:34,519 INFO L273 TraceCheckUtils]: 10: Hoare triple {3929#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3930#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:34,519 INFO L273 TraceCheckUtils]: 11: Hoare triple {3930#(<= main_~i~0 2)} assume true; {3930#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:34,520 INFO L273 TraceCheckUtils]: 12: Hoare triple {3930#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3931#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:34,521 INFO L273 TraceCheckUtils]: 13: Hoare triple {3931#(<= main_~i~0 3)} assume true; {3931#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:34,522 INFO L273 TraceCheckUtils]: 14: Hoare triple {3931#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3932#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:34,522 INFO L273 TraceCheckUtils]: 15: Hoare triple {3932#(<= main_~i~0 4)} assume true; {3932#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:34,524 INFO L273 TraceCheckUtils]: 16: Hoare triple {3932#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3933#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:34,524 INFO L273 TraceCheckUtils]: 17: Hoare triple {3933#(<= main_~i~0 5)} assume true; {3933#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:34,525 INFO L273 TraceCheckUtils]: 18: Hoare triple {3933#(<= main_~i~0 5)} assume !(~i~0 < ~N~0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,526 INFO L273 TraceCheckUtils]: 19: Hoare triple {3934#(<= ~N~0 5)} ~i~0 := 0; {3935#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:34,526 INFO L273 TraceCheckUtils]: 20: Hoare triple {3935#(and (<= ~N~0 5) (= main_~i~0 0))} assume true; {3935#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:34,527 INFO L273 TraceCheckUtils]: 21: Hoare triple {3935#(and (<= ~N~0 5) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3935#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:34,527 INFO L256 TraceCheckUtils]: 22: Hoare triple {3935#(and (<= ~N~0 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3926#true} is VALID [2018-11-14 18:49:34,527 INFO L273 TraceCheckUtils]: 23: Hoare triple {3926#true} ~cond := #in~cond; {3926#true} is VALID [2018-11-14 18:49:34,528 INFO L273 TraceCheckUtils]: 24: Hoare triple {3926#true} assume !(~cond == 0); {3926#true} is VALID [2018-11-14 18:49:34,528 INFO L273 TraceCheckUtils]: 25: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,529 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3926#true} {3935#(and (<= ~N~0 5) (= main_~i~0 0))} #60#return; {3935#(and (<= ~N~0 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:34,530 INFO L273 TraceCheckUtils]: 27: Hoare triple {3935#(and (<= ~N~0 5) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3936#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:34,530 INFO L273 TraceCheckUtils]: 28: Hoare triple {3936#(<= ~N~0 (+ main_~i~0 4))} assume true; {3936#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:34,531 INFO L273 TraceCheckUtils]: 29: Hoare triple {3936#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3936#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:34,531 INFO L256 TraceCheckUtils]: 30: Hoare triple {3936#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3926#true} is VALID [2018-11-14 18:49:34,531 INFO L273 TraceCheckUtils]: 31: Hoare triple {3926#true} ~cond := #in~cond; {3926#true} is VALID [2018-11-14 18:49:34,532 INFO L273 TraceCheckUtils]: 32: Hoare triple {3926#true} assume !(~cond == 0); {3926#true} is VALID [2018-11-14 18:49:34,532 INFO L273 TraceCheckUtils]: 33: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,550 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3926#true} {3936#(<= ~N~0 (+ main_~i~0 4))} #60#return; {3936#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:34,565 INFO L273 TraceCheckUtils]: 35: Hoare triple {3936#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3937#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:34,569 INFO L273 TraceCheckUtils]: 36: Hoare triple {3937#(<= ~N~0 (+ main_~i~0 3))} assume true; {3937#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:34,570 INFO L273 TraceCheckUtils]: 37: Hoare triple {3937#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3937#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:34,570 INFO L256 TraceCheckUtils]: 38: Hoare triple {3937#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3926#true} is VALID [2018-11-14 18:49:34,570 INFO L273 TraceCheckUtils]: 39: Hoare triple {3926#true} ~cond := #in~cond; {3926#true} is VALID [2018-11-14 18:49:34,570 INFO L273 TraceCheckUtils]: 40: Hoare triple {3926#true} assume !(~cond == 0); {3926#true} is VALID [2018-11-14 18:49:34,570 INFO L273 TraceCheckUtils]: 41: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,592 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3926#true} {3937#(<= ~N~0 (+ main_~i~0 3))} #60#return; {3937#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:34,601 INFO L273 TraceCheckUtils]: 43: Hoare triple {3937#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3938#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:34,617 INFO L273 TraceCheckUtils]: 44: Hoare triple {3938#(<= ~N~0 (+ main_~i~0 2))} assume true; {3938#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:34,626 INFO L273 TraceCheckUtils]: 45: Hoare triple {3938#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3938#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:34,626 INFO L256 TraceCheckUtils]: 46: Hoare triple {3938#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3926#true} is VALID [2018-11-14 18:49:34,626 INFO L273 TraceCheckUtils]: 47: Hoare triple {3926#true} ~cond := #in~cond; {3926#true} is VALID [2018-11-14 18:49:34,626 INFO L273 TraceCheckUtils]: 48: Hoare triple {3926#true} assume !(~cond == 0); {3926#true} is VALID [2018-11-14 18:49:34,627 INFO L273 TraceCheckUtils]: 49: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,641 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3926#true} {3938#(<= ~N~0 (+ main_~i~0 2))} #60#return; {3938#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:34,643 INFO L273 TraceCheckUtils]: 51: Hoare triple {3938#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3939#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:34,643 INFO L273 TraceCheckUtils]: 52: Hoare triple {3939#(<= ~N~0 (+ main_~i~0 1))} assume true; {3939#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:34,648 INFO L273 TraceCheckUtils]: 53: Hoare triple {3939#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3939#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:34,648 INFO L256 TraceCheckUtils]: 54: Hoare triple {3939#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3926#true} is VALID [2018-11-14 18:49:34,648 INFO L273 TraceCheckUtils]: 55: Hoare triple {3926#true} ~cond := #in~cond; {3926#true} is VALID [2018-11-14 18:49:34,648 INFO L273 TraceCheckUtils]: 56: Hoare triple {3926#true} assume !(~cond == 0); {3926#true} is VALID [2018-11-14 18:49:34,648 INFO L273 TraceCheckUtils]: 57: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,649 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3926#true} {3939#(<= ~N~0 (+ main_~i~0 1))} #60#return; {3939#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:34,650 INFO L273 TraceCheckUtils]: 59: Hoare triple {3939#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {3940#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:34,650 INFO L273 TraceCheckUtils]: 60: Hoare triple {3940#(<= ~N~0 main_~i~0)} assume true; {3940#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:34,651 INFO L273 TraceCheckUtils]: 61: Hoare triple {3940#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3927#false} is VALID [2018-11-14 18:49:34,651 INFO L256 TraceCheckUtils]: 62: Hoare triple {3927#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3927#false} is VALID [2018-11-14 18:49:34,651 INFO L273 TraceCheckUtils]: 63: Hoare triple {3927#false} ~cond := #in~cond; {3927#false} is VALID [2018-11-14 18:49:34,651 INFO L273 TraceCheckUtils]: 64: Hoare triple {3927#false} assume ~cond == 0; {3927#false} is VALID [2018-11-14 18:49:34,651 INFO L273 TraceCheckUtils]: 65: Hoare triple {3927#false} assume !false; {3927#false} is VALID [2018-11-14 18:49:34,654 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 47 proven. 48 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-14 18:49:34,654 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:34,655 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:34,664 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:49:34,699 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-14 18:49:34,699 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:34,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:34,720 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:34,977 INFO L256 TraceCheckUtils]: 0: Hoare triple {3926#true} call ULTIMATE.init(); {3926#true} is VALID [2018-11-14 18:49:34,978 INFO L273 TraceCheckUtils]: 1: Hoare triple {3926#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {3926#true} is VALID [2018-11-14 18:49:34,978 INFO L273 TraceCheckUtils]: 2: Hoare triple {3926#true} assume true; {3926#true} is VALID [2018-11-14 18:49:34,978 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3926#true} {3926#true} #56#return; {3926#true} is VALID [2018-11-14 18:49:34,978 INFO L256 TraceCheckUtils]: 4: Hoare triple {3926#true} call #t~ret2 := main(); {3926#true} is VALID [2018-11-14 18:49:34,979 INFO L273 TraceCheckUtils]: 5: Hoare triple {3926#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {3926#true} is VALID [2018-11-14 18:49:34,979 INFO L273 TraceCheckUtils]: 6: Hoare triple {3926#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {3962#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:34,980 INFO L273 TraceCheckUtils]: 7: Hoare triple {3962#(<= main_~i~0 0)} assume true; {3962#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:34,980 INFO L273 TraceCheckUtils]: 8: Hoare triple {3962#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3929#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:34,981 INFO L273 TraceCheckUtils]: 9: Hoare triple {3929#(<= main_~i~0 1)} assume true; {3929#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:34,981 INFO L273 TraceCheckUtils]: 10: Hoare triple {3929#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3930#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:34,982 INFO L273 TraceCheckUtils]: 11: Hoare triple {3930#(<= main_~i~0 2)} assume true; {3930#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:34,982 INFO L273 TraceCheckUtils]: 12: Hoare triple {3930#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3931#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:34,983 INFO L273 TraceCheckUtils]: 13: Hoare triple {3931#(<= main_~i~0 3)} assume true; {3931#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:34,984 INFO L273 TraceCheckUtils]: 14: Hoare triple {3931#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3932#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:34,984 INFO L273 TraceCheckUtils]: 15: Hoare triple {3932#(<= main_~i~0 4)} assume true; {3932#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:34,985 INFO L273 TraceCheckUtils]: 16: Hoare triple {3932#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {3933#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:34,986 INFO L273 TraceCheckUtils]: 17: Hoare triple {3933#(<= main_~i~0 5)} assume true; {3933#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:34,986 INFO L273 TraceCheckUtils]: 18: Hoare triple {3933#(<= main_~i~0 5)} assume !(~i~0 < ~N~0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,987 INFO L273 TraceCheckUtils]: 19: Hoare triple {3934#(<= ~N~0 5)} ~i~0 := 0; {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,988 INFO L273 TraceCheckUtils]: 20: Hoare triple {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} assume true; {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,989 INFO L273 TraceCheckUtils]: 21: Hoare triple {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,990 INFO L256 TraceCheckUtils]: 22: Hoare triple {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,990 INFO L273 TraceCheckUtils]: 23: Hoare triple {3934#(<= ~N~0 5)} ~cond := #in~cond; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,991 INFO L273 TraceCheckUtils]: 24: Hoare triple {3934#(<= ~N~0 5)} assume !(~cond == 0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,991 INFO L273 TraceCheckUtils]: 25: Hoare triple {3934#(<= ~N~0 5)} assume true; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,992 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3934#(<= ~N~0 5)} {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} #60#return; {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,993 INFO L273 TraceCheckUtils]: 27: Hoare triple {4002#(and (<= 0 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,994 INFO L273 TraceCheckUtils]: 28: Hoare triple {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} assume true; {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,995 INFO L273 TraceCheckUtils]: 29: Hoare triple {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,996 INFO L256 TraceCheckUtils]: 30: Hoare triple {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,996 INFO L273 TraceCheckUtils]: 31: Hoare triple {3934#(<= ~N~0 5)} ~cond := #in~cond; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,997 INFO L273 TraceCheckUtils]: 32: Hoare triple {3934#(<= ~N~0 5)} assume !(~cond == 0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,998 INFO L273 TraceCheckUtils]: 33: Hoare triple {3934#(<= ~N~0 5)} assume true; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:34,998 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3934#(<= ~N~0 5)} {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} #60#return; {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:34,999 INFO L273 TraceCheckUtils]: 35: Hoare triple {4027#(and (<= 1 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,000 INFO L273 TraceCheckUtils]: 36: Hoare triple {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} assume true; {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,001 INFO L273 TraceCheckUtils]: 37: Hoare triple {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,002 INFO L256 TraceCheckUtils]: 38: Hoare triple {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,003 INFO L273 TraceCheckUtils]: 39: Hoare triple {3934#(<= ~N~0 5)} ~cond := #in~cond; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,003 INFO L273 TraceCheckUtils]: 40: Hoare triple {3934#(<= ~N~0 5)} assume !(~cond == 0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,004 INFO L273 TraceCheckUtils]: 41: Hoare triple {3934#(<= ~N~0 5)} assume true; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,005 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {3934#(<= ~N~0 5)} {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} #60#return; {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,006 INFO L273 TraceCheckUtils]: 43: Hoare triple {4052#(and (<= 2 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:35,006 INFO L273 TraceCheckUtils]: 44: Hoare triple {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} assume true; {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:35,007 INFO L273 TraceCheckUtils]: 45: Hoare triple {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:35,008 INFO L256 TraceCheckUtils]: 46: Hoare triple {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,009 INFO L273 TraceCheckUtils]: 47: Hoare triple {3934#(<= ~N~0 5)} ~cond := #in~cond; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,009 INFO L273 TraceCheckUtils]: 48: Hoare triple {3934#(<= ~N~0 5)} assume !(~cond == 0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,010 INFO L273 TraceCheckUtils]: 49: Hoare triple {3934#(<= ~N~0 5)} assume true; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,011 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {3934#(<= ~N~0 5)} {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} #60#return; {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} is VALID [2018-11-14 18:49:35,012 INFO L273 TraceCheckUtils]: 51: Hoare triple {4077#(and (<= ~N~0 5) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,012 INFO L273 TraceCheckUtils]: 52: Hoare triple {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} assume true; {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,013 INFO L273 TraceCheckUtils]: 53: Hoare triple {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,014 INFO L256 TraceCheckUtils]: 54: Hoare triple {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,015 INFO L273 TraceCheckUtils]: 55: Hoare triple {3934#(<= ~N~0 5)} ~cond := #in~cond; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,015 INFO L273 TraceCheckUtils]: 56: Hoare triple {3934#(<= ~N~0 5)} assume !(~cond == 0); {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,016 INFO L273 TraceCheckUtils]: 57: Hoare triple {3934#(<= ~N~0 5)} assume true; {3934#(<= ~N~0 5)} is VALID [2018-11-14 18:49:35,017 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {3934#(<= ~N~0 5)} {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} #60#return; {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,018 INFO L273 TraceCheckUtils]: 59: Hoare triple {4102#(and (<= 4 main_~i~0) (<= ~N~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4127#(and (<= 5 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,018 INFO L273 TraceCheckUtils]: 60: Hoare triple {4127#(and (<= 5 main_~i~0) (<= ~N~0 5))} assume true; {4127#(and (<= 5 main_~i~0) (<= ~N~0 5))} is VALID [2018-11-14 18:49:35,019 INFO L273 TraceCheckUtils]: 61: Hoare triple {4127#(and (<= 5 main_~i~0) (<= ~N~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {3927#false} is VALID [2018-11-14 18:49:35,020 INFO L256 TraceCheckUtils]: 62: Hoare triple {3927#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {3927#false} is VALID [2018-11-14 18:49:35,020 INFO L273 TraceCheckUtils]: 63: Hoare triple {3927#false} ~cond := #in~cond; {3927#false} is VALID [2018-11-14 18:49:35,020 INFO L273 TraceCheckUtils]: 64: Hoare triple {3927#false} assume ~cond == 0; {3927#false} is VALID [2018-11-14 18:49:35,020 INFO L273 TraceCheckUtils]: 65: Hoare triple {3927#false} assume !false; {3927#false} is VALID [2018-11-14 18:49:35,026 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 65 proven. 30 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-14 18:49:35,048 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:35,048 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 22 [2018-11-14 18:49:35,049 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 66 [2018-11-14 18:49:35,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:35,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-14 18:49:35,133 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-14 18:49:35,133 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-14 18:49:35,134 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-14 18:49:35,134 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=345, Unknown=0, NotChecked=0, Total=462 [2018-11-14 18:49:35,134 INFO L87 Difference]: Start difference. First operand 69 states and 70 transitions. Second operand 22 states. [2018-11-14 18:49:36,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,130 INFO L93 Difference]: Finished difference Result 129 states and 132 transitions. [2018-11-14 18:49:36,130 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-14 18:49:36,130 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 66 [2018-11-14 18:49:36,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:36,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 18:49:36,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2018-11-14 18:49:36,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-14 18:49:36,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2018-11-14 18:49:36,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2018-11-14 18:49:36,432 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:36,434 INFO L225 Difference]: With dead ends: 129 [2018-11-14 18:49:36,434 INFO L226 Difference]: Without dead ends: 76 [2018-11-14 18:49:36,435 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 168 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=192, Invalid=564, Unknown=0, NotChecked=0, Total=756 [2018-11-14 18:49:36,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-14 18:49:36,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 71. [2018-11-14 18:49:36,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:36,568 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 71 states. [2018-11-14 18:49:36,568 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 71 states. [2018-11-14 18:49:36,568 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 71 states. [2018-11-14 18:49:36,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,570 INFO L93 Difference]: Finished difference Result 76 states and 78 transitions. [2018-11-14 18:49:36,570 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2018-11-14 18:49:36,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:36,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:36,571 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 76 states. [2018-11-14 18:49:36,571 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 76 states. [2018-11-14 18:49:36,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:36,572 INFO L93 Difference]: Finished difference Result 76 states and 78 transitions. [2018-11-14 18:49:36,573 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 78 transitions. [2018-11-14 18:49:36,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:36,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:36,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:36,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:36,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-14 18:49:36,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 72 transitions. [2018-11-14 18:49:36,575 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 72 transitions. Word has length 66 [2018-11-14 18:49:36,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:36,575 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 72 transitions. [2018-11-14 18:49:36,575 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-14 18:49:36,575 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 72 transitions. [2018-11-14 18:49:36,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-14 18:49:36,576 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:36,576 INFO L375 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:36,576 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:36,576 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:36,577 INFO L82 PathProgramCache]: Analyzing trace with hash -235622777, now seen corresponding path program 10 times [2018-11-14 18:49:36,577 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:36,577 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:36,578 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:36,578 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:36,578 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:36,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:37,618 INFO L256 TraceCheckUtils]: 0: Hoare triple {4588#true} call ULTIMATE.init(); {4588#true} is VALID [2018-11-14 18:49:37,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {4588#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {4588#true} is VALID [2018-11-14 18:49:37,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:37,619 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4588#true} {4588#true} #56#return; {4588#true} is VALID [2018-11-14 18:49:37,619 INFO L256 TraceCheckUtils]: 4: Hoare triple {4588#true} call #t~ret2 := main(); {4588#true} is VALID [2018-11-14 18:49:37,619 INFO L273 TraceCheckUtils]: 5: Hoare triple {4588#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {4588#true} is VALID [2018-11-14 18:49:37,619 INFO L273 TraceCheckUtils]: 6: Hoare triple {4588#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {4590#(= main_~k~0 0)} is VALID [2018-11-14 18:49:37,620 INFO L273 TraceCheckUtils]: 7: Hoare triple {4590#(= main_~k~0 0)} assume true; {4590#(= main_~k~0 0)} is VALID [2018-11-14 18:49:37,620 INFO L273 TraceCheckUtils]: 8: Hoare triple {4590#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4591#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:37,621 INFO L273 TraceCheckUtils]: 9: Hoare triple {4591#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {4591#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:37,621 INFO L273 TraceCheckUtils]: 10: Hoare triple {4591#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4592#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:37,622 INFO L273 TraceCheckUtils]: 11: Hoare triple {4592#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {4592#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:37,622 INFO L273 TraceCheckUtils]: 12: Hoare triple {4592#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4593#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:37,623 INFO L273 TraceCheckUtils]: 13: Hoare triple {4593#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {4593#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:37,624 INFO L273 TraceCheckUtils]: 14: Hoare triple {4593#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4594#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:37,625 INFO L273 TraceCheckUtils]: 15: Hoare triple {4594#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume true; {4594#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:37,626 INFO L273 TraceCheckUtils]: 16: Hoare triple {4594#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4595#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:37,626 INFO L273 TraceCheckUtils]: 17: Hoare triple {4595#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume true; {4595#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:37,628 INFO L273 TraceCheckUtils]: 18: Hoare triple {4595#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} is VALID [2018-11-14 18:49:37,628 INFO L273 TraceCheckUtils]: 19: Hoare triple {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} assume true; {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} is VALID [2018-11-14 18:49:37,629 INFO L273 TraceCheckUtils]: 20: Hoare triple {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} assume !(~i~0 < ~N~0); {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} is VALID [2018-11-14 18:49:37,629 INFO L273 TraceCheckUtils]: 21: Hoare triple {4596#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5)} ~i~0 := 0; {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:37,630 INFO L273 TraceCheckUtils]: 22: Hoare triple {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} assume true; {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:37,631 INFO L273 TraceCheckUtils]: 23: Hoare triple {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:37,631 INFO L256 TraceCheckUtils]: 24: Hoare triple {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4588#true} is VALID [2018-11-14 18:49:37,632 INFO L273 TraceCheckUtils]: 25: Hoare triple {4588#true} ~cond := #in~cond; {4598#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:37,632 INFO L273 TraceCheckUtils]: 26: Hoare triple {4598#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:37,633 INFO L273 TraceCheckUtils]: 27: Hoare triple {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:37,634 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} #60#return; {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} is VALID [2018-11-14 18:49:37,635 INFO L273 TraceCheckUtils]: 29: Hoare triple {4597#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 5))) 5) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:37,635 INFO L273 TraceCheckUtils]: 30: Hoare triple {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume true; {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:37,636 INFO L273 TraceCheckUtils]: 31: Hoare triple {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:37,636 INFO L256 TraceCheckUtils]: 32: Hoare triple {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4588#true} is VALID [2018-11-14 18:49:37,637 INFO L273 TraceCheckUtils]: 33: Hoare triple {4588#true} ~cond := #in~cond; {4588#true} is VALID [2018-11-14 18:49:37,637 INFO L273 TraceCheckUtils]: 34: Hoare triple {4588#true} assume !(~cond == 0); {4588#true} is VALID [2018-11-14 18:49:37,637 INFO L273 TraceCheckUtils]: 35: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:37,638 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4588#true} {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #60#return; {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:37,639 INFO L273 TraceCheckUtils]: 37: Hoare triple {4600#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:37,640 INFO L273 TraceCheckUtils]: 38: Hoare triple {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume true; {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:37,640 INFO L273 TraceCheckUtils]: 39: Hoare triple {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:37,640 INFO L256 TraceCheckUtils]: 40: Hoare triple {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4588#true} is VALID [2018-11-14 18:49:37,640 INFO L273 TraceCheckUtils]: 41: Hoare triple {4588#true} ~cond := #in~cond; {4588#true} is VALID [2018-11-14 18:49:37,640 INFO L273 TraceCheckUtils]: 42: Hoare triple {4588#true} assume !(~cond == 0); {4588#true} is VALID [2018-11-14 18:49:37,641 INFO L273 TraceCheckUtils]: 43: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:37,641 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4588#true} {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #60#return; {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:37,642 INFO L273 TraceCheckUtils]: 45: Hoare triple {4601#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:37,643 INFO L273 TraceCheckUtils]: 46: Hoare triple {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume true; {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:37,643 INFO L273 TraceCheckUtils]: 47: Hoare triple {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:37,644 INFO L256 TraceCheckUtils]: 48: Hoare triple {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4588#true} is VALID [2018-11-14 18:49:37,644 INFO L273 TraceCheckUtils]: 49: Hoare triple {4588#true} ~cond := #in~cond; {4588#true} is VALID [2018-11-14 18:49:37,644 INFO L273 TraceCheckUtils]: 50: Hoare triple {4588#true} assume !(~cond == 0); {4588#true} is VALID [2018-11-14 18:49:37,644 INFO L273 TraceCheckUtils]: 51: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:37,645 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4588#true} {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #60#return; {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:37,646 INFO L273 TraceCheckUtils]: 53: Hoare triple {4602#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:37,647 INFO L273 TraceCheckUtils]: 54: Hoare triple {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume true; {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:37,648 INFO L273 TraceCheckUtils]: 55: Hoare triple {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:37,648 INFO L256 TraceCheckUtils]: 56: Hoare triple {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4588#true} is VALID [2018-11-14 18:49:37,648 INFO L273 TraceCheckUtils]: 57: Hoare triple {4588#true} ~cond := #in~cond; {4588#true} is VALID [2018-11-14 18:49:37,648 INFO L273 TraceCheckUtils]: 58: Hoare triple {4588#true} assume !(~cond == 0); {4588#true} is VALID [2018-11-14 18:49:37,648 INFO L273 TraceCheckUtils]: 59: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:37,649 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {4588#true} {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #60#return; {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:37,650 INFO L273 TraceCheckUtils]: 61: Hoare triple {4603#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4604#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:37,651 INFO L273 TraceCheckUtils]: 62: Hoare triple {4604#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {4604#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:37,652 INFO L273 TraceCheckUtils]: 63: Hoare triple {4604#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4605#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:49:37,653 INFO L256 TraceCheckUtils]: 64: Hoare triple {4605#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:37,653 INFO L273 TraceCheckUtils]: 65: Hoare triple {4599#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4606#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:37,654 INFO L273 TraceCheckUtils]: 66: Hoare triple {4606#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {4589#false} is VALID [2018-11-14 18:49:37,654 INFO L273 TraceCheckUtils]: 67: Hoare triple {4589#false} assume !false; {4589#false} is VALID [2018-11-14 18:49:37,661 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 9 proven. 110 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-14 18:49:37,662 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:37,662 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:37,671 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:49:37,698 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:49:37,699 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:37,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:37,718 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:37,924 INFO L477 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-14 18:49:37,933 INFO L477 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-14 18:49:37,934 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:37,936 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:37,940 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:37,941 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:49:38,882 INFO L477 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 17 treesize of output 13 [2018-11-14 18:49:38,888 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:38,889 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-14 18:49:38,891 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:38,894 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:38,899 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-14 18:49:38,899 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:49:38,902 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:38,983 INFO L256 TraceCheckUtils]: 0: Hoare triple {4588#true} call ULTIMATE.init(); {4588#true} is VALID [2018-11-14 18:49:38,984 INFO L273 TraceCheckUtils]: 1: Hoare triple {4588#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {4588#true} is VALID [2018-11-14 18:49:38,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {4588#true} assume true; {4588#true} is VALID [2018-11-14 18:49:38,984 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4588#true} {4588#true} #56#return; {4588#true} is VALID [2018-11-14 18:49:38,984 INFO L256 TraceCheckUtils]: 4: Hoare triple {4588#true} call #t~ret2 := main(); {4588#true} is VALID [2018-11-14 18:49:38,984 INFO L273 TraceCheckUtils]: 5: Hoare triple {4588#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {4588#true} is VALID [2018-11-14 18:49:38,985 INFO L273 TraceCheckUtils]: 6: Hoare triple {4588#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {4628#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,986 INFO L273 TraceCheckUtils]: 7: Hoare triple {4628#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {4628#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,987 INFO L273 TraceCheckUtils]: 8: Hoare triple {4628#(and (= main_~k~0 0) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4635#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,987 INFO L273 TraceCheckUtils]: 9: Hoare triple {4635#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {4635#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,988 INFO L273 TraceCheckUtils]: 10: Hoare triple {4635#(and (= main_~k~0 1) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4642#(and (= main_~i~0 2) (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,988 INFO L273 TraceCheckUtils]: 11: Hoare triple {4642#(and (= main_~i~0 2) (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {4642#(and (= main_~i~0 2) (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,989 INFO L273 TraceCheckUtils]: 12: Hoare triple {4642#(and (= main_~i~0 2) (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4649#(and (= main_~i~0 3) (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,989 INFO L273 TraceCheckUtils]: 13: Hoare triple {4649#(and (= main_~i~0 3) (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume true; {4649#(and (= main_~i~0 3) (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,990 INFO L273 TraceCheckUtils]: 14: Hoare triple {4649#(and (= main_~i~0 3) (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4656#(and (= main_~k~0 4) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,991 INFO L273 TraceCheckUtils]: 15: Hoare triple {4656#(and (= main_~k~0 4) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume true; {4656#(and (= main_~k~0 4) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,992 INFO L273 TraceCheckUtils]: 16: Hoare triple {4656#(and (= main_~k~0 4) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4663#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,992 INFO L273 TraceCheckUtils]: 17: Hoare triple {4663#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume true; {4663#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,993 INFO L273 TraceCheckUtils]: 18: Hoare triple {4663#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,994 INFO L273 TraceCheckUtils]: 19: Hoare triple {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume true; {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,995 INFO L273 TraceCheckUtils]: 20: Hoare triple {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,996 INFO L273 TraceCheckUtils]: 21: Hoare triple {4670#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,996 INFO L273 TraceCheckUtils]: 22: Hoare triple {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,997 INFO L273 TraceCheckUtils]: 23: Hoare triple {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:38,999 INFO L256 TraceCheckUtils]: 24: Hoare triple {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:38,999 INFO L273 TraceCheckUtils]: 25: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,000 INFO L273 TraceCheckUtils]: 26: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(~cond == 0); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,000 INFO L273 TraceCheckUtils]: 27: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,001 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,002 INFO L273 TraceCheckUtils]: 29: Hoare triple {4680#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,003 INFO L273 TraceCheckUtils]: 30: Hoare triple {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,004 INFO L273 TraceCheckUtils]: 31: Hoare triple {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,005 INFO L256 TraceCheckUtils]: 32: Hoare triple {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,006 INFO L273 TraceCheckUtils]: 33: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,007 INFO L273 TraceCheckUtils]: 34: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(~cond == 0); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,007 INFO L273 TraceCheckUtils]: 35: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,008 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #60#return; {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,009 INFO L273 TraceCheckUtils]: 37: Hoare triple {4706#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,010 INFO L273 TraceCheckUtils]: 38: Hoare triple {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume true; {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,011 INFO L273 TraceCheckUtils]: 39: Hoare triple {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,012 INFO L256 TraceCheckUtils]: 40: Hoare triple {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,013 INFO L273 TraceCheckUtils]: 41: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,013 INFO L273 TraceCheckUtils]: 42: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(~cond == 0); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,014 INFO L273 TraceCheckUtils]: 43: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,015 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #60#return; {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,016 INFO L273 TraceCheckUtils]: 45: Hoare triple {4731#(and (= main_~i~0 2) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,016 INFO L273 TraceCheckUtils]: 46: Hoare triple {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume true; {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,017 INFO L273 TraceCheckUtils]: 47: Hoare triple {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,019 INFO L256 TraceCheckUtils]: 48: Hoare triple {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,019 INFO L273 TraceCheckUtils]: 49: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,020 INFO L273 TraceCheckUtils]: 50: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(~cond == 0); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,020 INFO L273 TraceCheckUtils]: 51: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,021 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} #60#return; {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,022 INFO L273 TraceCheckUtils]: 53: Hoare triple {4756#(and (= main_~i~0 3) (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,023 INFO L273 TraceCheckUtils]: 54: Hoare triple {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume true; {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,024 INFO L273 TraceCheckUtils]: 55: Hoare triple {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,025 INFO L256 TraceCheckUtils]: 56: Hoare triple {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,026 INFO L273 TraceCheckUtils]: 57: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} ~cond := #in~cond; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,027 INFO L273 TraceCheckUtils]: 58: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume !(~cond == 0); {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,027 INFO L273 TraceCheckUtils]: 59: Hoare triple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} assume true; {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} is VALID [2018-11-14 18:49:39,028 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {4690#(exists ((|v_main_~#a~0.base_BEFORE_CALL_11| Int)) (= 5 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_11|) 20)))} {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} #60#return; {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,029 INFO L273 TraceCheckUtils]: 61: Hoare triple {4781#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 4) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {4806#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,030 INFO L273 TraceCheckUtils]: 62: Hoare triple {4806#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume true; {4806#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:49:39,031 INFO L273 TraceCheckUtils]: 63: Hoare triple {4806#(and (= 5 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 20))) (= main_~i~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {4813#(and (= 5 |main_#t~mem1|) (= main_~i~0 5))} is VALID [2018-11-14 18:49:39,032 INFO L256 TraceCheckUtils]: 64: Hoare triple {4813#(and (= 5 |main_#t~mem1|) (= main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {4817#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:39,032 INFO L273 TraceCheckUtils]: 65: Hoare triple {4817#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4821#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:39,033 INFO L273 TraceCheckUtils]: 66: Hoare triple {4821#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {4589#false} is VALID [2018-11-14 18:49:39,033 INFO L273 TraceCheckUtils]: 67: Hoare triple {4589#false} assume !false; {4589#false} is VALID [2018-11-14 18:49:39,044 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 0 proven. 107 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-14 18:49:39,065 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:39,065 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 36 [2018-11-14 18:49:39,066 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 68 [2018-11-14 18:49:39,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:39,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states. [2018-11-14 18:49:39,186 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:39,186 INFO L459 AbstractCegarLoop]: Interpolant automaton has 36 states [2018-11-14 18:49:39,186 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2018-11-14 18:49:39,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=1155, Unknown=0, NotChecked=0, Total=1260 [2018-11-14 18:49:39,187 INFO L87 Difference]: Start difference. First operand 71 states and 72 transitions. Second operand 36 states. [2018-11-14 18:49:44,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:44,466 INFO L93 Difference]: Finished difference Result 82 states and 83 transitions. [2018-11-14 18:49:44,466 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-14 18:49:44,466 INFO L78 Accepts]: Start accepts. Automaton has 36 states. Word has length 68 [2018-11-14 18:49:44,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:44,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 18:49:44,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 68 transitions. [2018-11-14 18:49:44,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-14 18:49:44,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 68 transitions. [2018-11-14 18:49:44,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 68 transitions. [2018-11-14 18:49:44,877 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:44,880 INFO L225 Difference]: With dead ends: 82 [2018-11-14 18:49:44,880 INFO L226 Difference]: Without dead ends: 80 [2018-11-14 18:49:44,881 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 45 SyntacticMatches, 10 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 471 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=193, Invalid=1969, Unknown=0, NotChecked=0, Total=2162 [2018-11-14 18:49:44,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2018-11-14 18:49:45,077 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 79. [2018-11-14 18:49:45,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:45,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 79 states. [2018-11-14 18:49:45,078 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 79 states. [2018-11-14 18:49:45,078 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 79 states. [2018-11-14 18:49:45,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:45,081 INFO L93 Difference]: Finished difference Result 80 states and 81 transitions. [2018-11-14 18:49:45,081 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 81 transitions. [2018-11-14 18:49:45,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:45,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:45,081 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 80 states. [2018-11-14 18:49:45,082 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 80 states. [2018-11-14 18:49:45,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:45,084 INFO L93 Difference]: Finished difference Result 80 states and 81 transitions. [2018-11-14 18:49:45,084 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 81 transitions. [2018-11-14 18:49:45,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:45,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:45,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:45,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:45,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-11-14 18:49:45,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 80 transitions. [2018-11-14 18:49:45,087 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 80 transitions. Word has length 68 [2018-11-14 18:49:45,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:45,087 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 80 transitions. [2018-11-14 18:49:45,087 INFO L481 AbstractCegarLoop]: Interpolant automaton has 36 states. [2018-11-14 18:49:45,087 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 80 transitions. [2018-11-14 18:49:45,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-14 18:49:45,088 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:45,088 INFO L375 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:45,089 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:45,089 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:45,089 INFO L82 PathProgramCache]: Analyzing trace with hash -1445369786, now seen corresponding path program 11 times [2018-11-14 18:49:45,089 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:45,089 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:45,090 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:45,090 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:45,090 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:45,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:45,343 INFO L256 TraceCheckUtils]: 0: Hoare triple {5235#true} call ULTIMATE.init(); {5235#true} is VALID [2018-11-14 18:49:45,344 INFO L273 TraceCheckUtils]: 1: Hoare triple {5235#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5235#true} is VALID [2018-11-14 18:49:45,344 INFO L273 TraceCheckUtils]: 2: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,344 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5235#true} {5235#true} #56#return; {5235#true} is VALID [2018-11-14 18:49:45,345 INFO L256 TraceCheckUtils]: 4: Hoare triple {5235#true} call #t~ret2 := main(); {5235#true} is VALID [2018-11-14 18:49:45,345 INFO L273 TraceCheckUtils]: 5: Hoare triple {5235#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5235#true} is VALID [2018-11-14 18:49:45,367 INFO L273 TraceCheckUtils]: 6: Hoare triple {5235#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {5237#(= main_~i~0 0)} is VALID [2018-11-14 18:49:45,379 INFO L273 TraceCheckUtils]: 7: Hoare triple {5237#(= main_~i~0 0)} assume true; {5237#(= main_~i~0 0)} is VALID [2018-11-14 18:49:45,380 INFO L273 TraceCheckUtils]: 8: Hoare triple {5237#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5238#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:45,380 INFO L273 TraceCheckUtils]: 9: Hoare triple {5238#(<= main_~i~0 1)} assume true; {5238#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:45,381 INFO L273 TraceCheckUtils]: 10: Hoare triple {5238#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5239#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:45,381 INFO L273 TraceCheckUtils]: 11: Hoare triple {5239#(<= main_~i~0 2)} assume true; {5239#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:45,382 INFO L273 TraceCheckUtils]: 12: Hoare triple {5239#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5240#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:45,382 INFO L273 TraceCheckUtils]: 13: Hoare triple {5240#(<= main_~i~0 3)} assume true; {5240#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:45,383 INFO L273 TraceCheckUtils]: 14: Hoare triple {5240#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5241#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:45,383 INFO L273 TraceCheckUtils]: 15: Hoare triple {5241#(<= main_~i~0 4)} assume true; {5241#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:45,384 INFO L273 TraceCheckUtils]: 16: Hoare triple {5241#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5242#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:45,384 INFO L273 TraceCheckUtils]: 17: Hoare triple {5242#(<= main_~i~0 5)} assume true; {5242#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:45,385 INFO L273 TraceCheckUtils]: 18: Hoare triple {5242#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5243#(<= main_~i~0 6)} is VALID [2018-11-14 18:49:45,386 INFO L273 TraceCheckUtils]: 19: Hoare triple {5243#(<= main_~i~0 6)} assume true; {5243#(<= main_~i~0 6)} is VALID [2018-11-14 18:49:45,386 INFO L273 TraceCheckUtils]: 20: Hoare triple {5243#(<= main_~i~0 6)} assume !(~i~0 < ~N~0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,387 INFO L273 TraceCheckUtils]: 21: Hoare triple {5244#(<= ~N~0 6)} ~i~0 := 0; {5245#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:45,388 INFO L273 TraceCheckUtils]: 22: Hoare triple {5245#(and (<= ~N~0 6) (= main_~i~0 0))} assume true; {5245#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:45,388 INFO L273 TraceCheckUtils]: 23: Hoare triple {5245#(and (<= ~N~0 6) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5245#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:45,389 INFO L256 TraceCheckUtils]: 24: Hoare triple {5245#(and (<= ~N~0 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,389 INFO L273 TraceCheckUtils]: 25: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,389 INFO L273 TraceCheckUtils]: 26: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,389 INFO L273 TraceCheckUtils]: 27: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,390 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {5235#true} {5245#(and (<= ~N~0 6) (= main_~i~0 0))} #60#return; {5245#(and (<= ~N~0 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:45,391 INFO L273 TraceCheckUtils]: 29: Hoare triple {5245#(and (<= ~N~0 6) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5246#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:49:45,391 INFO L273 TraceCheckUtils]: 30: Hoare triple {5246#(<= ~N~0 (+ main_~i~0 5))} assume true; {5246#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:49:45,392 INFO L273 TraceCheckUtils]: 31: Hoare triple {5246#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5246#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:49:45,392 INFO L256 TraceCheckUtils]: 32: Hoare triple {5246#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,392 INFO L273 TraceCheckUtils]: 33: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,392 INFO L273 TraceCheckUtils]: 34: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,392 INFO L273 TraceCheckUtils]: 35: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,392 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5235#true} {5246#(<= ~N~0 (+ main_~i~0 5))} #60#return; {5246#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:49:45,393 INFO L273 TraceCheckUtils]: 37: Hoare triple {5246#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5247#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:45,393 INFO L273 TraceCheckUtils]: 38: Hoare triple {5247#(<= ~N~0 (+ main_~i~0 4))} assume true; {5247#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:45,394 INFO L273 TraceCheckUtils]: 39: Hoare triple {5247#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5247#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:45,394 INFO L256 TraceCheckUtils]: 40: Hoare triple {5247#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,394 INFO L273 TraceCheckUtils]: 41: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,394 INFO L273 TraceCheckUtils]: 42: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,394 INFO L273 TraceCheckUtils]: 43: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,395 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {5235#true} {5247#(<= ~N~0 (+ main_~i~0 4))} #60#return; {5247#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:49:45,396 INFO L273 TraceCheckUtils]: 45: Hoare triple {5247#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5248#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:45,396 INFO L273 TraceCheckUtils]: 46: Hoare triple {5248#(<= ~N~0 (+ main_~i~0 3))} assume true; {5248#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:45,397 INFO L273 TraceCheckUtils]: 47: Hoare triple {5248#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5248#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:45,397 INFO L256 TraceCheckUtils]: 48: Hoare triple {5248#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,397 INFO L273 TraceCheckUtils]: 49: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,397 INFO L273 TraceCheckUtils]: 50: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,397 INFO L273 TraceCheckUtils]: 51: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,397 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {5235#true} {5248#(<= ~N~0 (+ main_~i~0 3))} #60#return; {5248#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:49:45,398 INFO L273 TraceCheckUtils]: 53: Hoare triple {5248#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5249#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:45,399 INFO L273 TraceCheckUtils]: 54: Hoare triple {5249#(<= ~N~0 (+ main_~i~0 2))} assume true; {5249#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:45,399 INFO L273 TraceCheckUtils]: 55: Hoare triple {5249#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5249#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:45,399 INFO L256 TraceCheckUtils]: 56: Hoare triple {5249#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,400 INFO L273 TraceCheckUtils]: 57: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,400 INFO L273 TraceCheckUtils]: 58: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,400 INFO L273 TraceCheckUtils]: 59: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,401 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {5235#true} {5249#(<= ~N~0 (+ main_~i~0 2))} #60#return; {5249#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:49:45,402 INFO L273 TraceCheckUtils]: 61: Hoare triple {5249#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5250#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:45,402 INFO L273 TraceCheckUtils]: 62: Hoare triple {5250#(<= ~N~0 (+ main_~i~0 1))} assume true; {5250#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:45,402 INFO L273 TraceCheckUtils]: 63: Hoare triple {5250#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5250#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:45,403 INFO L256 TraceCheckUtils]: 64: Hoare triple {5250#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5235#true} is VALID [2018-11-14 18:49:45,403 INFO L273 TraceCheckUtils]: 65: Hoare triple {5235#true} ~cond := #in~cond; {5235#true} is VALID [2018-11-14 18:49:45,403 INFO L273 TraceCheckUtils]: 66: Hoare triple {5235#true} assume !(~cond == 0); {5235#true} is VALID [2018-11-14 18:49:45,403 INFO L273 TraceCheckUtils]: 67: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,403 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {5235#true} {5250#(<= ~N~0 (+ main_~i~0 1))} #60#return; {5250#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:49:45,404 INFO L273 TraceCheckUtils]: 69: Hoare triple {5250#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5251#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:45,404 INFO L273 TraceCheckUtils]: 70: Hoare triple {5251#(<= ~N~0 main_~i~0)} assume true; {5251#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:49:45,405 INFO L273 TraceCheckUtils]: 71: Hoare triple {5251#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5236#false} is VALID [2018-11-14 18:49:45,405 INFO L256 TraceCheckUtils]: 72: Hoare triple {5236#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5236#false} is VALID [2018-11-14 18:49:45,405 INFO L273 TraceCheckUtils]: 73: Hoare triple {5236#false} ~cond := #in~cond; {5236#false} is VALID [2018-11-14 18:49:45,406 INFO L273 TraceCheckUtils]: 74: Hoare triple {5236#false} assume ~cond == 0; {5236#false} is VALID [2018-11-14 18:49:45,406 INFO L273 TraceCheckUtils]: 75: Hoare triple {5236#false} assume !false; {5236#false} is VALID [2018-11-14 18:49:45,411 INFO L134 CoverageAnalysis]: Checked inductivity of 192 backedges. 68 proven. 64 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-14 18:49:45,411 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:45,411 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:45,420 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:49:45,462 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-14 18:49:45,463 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:45,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:45,493 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:45,812 INFO L256 TraceCheckUtils]: 0: Hoare triple {5235#true} call ULTIMATE.init(); {5235#true} is VALID [2018-11-14 18:49:45,812 INFO L273 TraceCheckUtils]: 1: Hoare triple {5235#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5235#true} is VALID [2018-11-14 18:49:45,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {5235#true} assume true; {5235#true} is VALID [2018-11-14 18:49:45,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5235#true} {5235#true} #56#return; {5235#true} is VALID [2018-11-14 18:49:45,813 INFO L256 TraceCheckUtils]: 4: Hoare triple {5235#true} call #t~ret2 := main(); {5235#true} is VALID [2018-11-14 18:49:45,813 INFO L273 TraceCheckUtils]: 5: Hoare triple {5235#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5235#true} is VALID [2018-11-14 18:49:45,813 INFO L273 TraceCheckUtils]: 6: Hoare triple {5235#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {5273#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:45,813 INFO L273 TraceCheckUtils]: 7: Hoare triple {5273#(<= main_~i~0 0)} assume true; {5273#(<= main_~i~0 0)} is VALID [2018-11-14 18:49:45,814 INFO L273 TraceCheckUtils]: 8: Hoare triple {5273#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5238#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:45,814 INFO L273 TraceCheckUtils]: 9: Hoare triple {5238#(<= main_~i~0 1)} assume true; {5238#(<= main_~i~0 1)} is VALID [2018-11-14 18:49:45,815 INFO L273 TraceCheckUtils]: 10: Hoare triple {5238#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5239#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:45,815 INFO L273 TraceCheckUtils]: 11: Hoare triple {5239#(<= main_~i~0 2)} assume true; {5239#(<= main_~i~0 2)} is VALID [2018-11-14 18:49:45,816 INFO L273 TraceCheckUtils]: 12: Hoare triple {5239#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5240#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:45,816 INFO L273 TraceCheckUtils]: 13: Hoare triple {5240#(<= main_~i~0 3)} assume true; {5240#(<= main_~i~0 3)} is VALID [2018-11-14 18:49:45,817 INFO L273 TraceCheckUtils]: 14: Hoare triple {5240#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5241#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:45,817 INFO L273 TraceCheckUtils]: 15: Hoare triple {5241#(<= main_~i~0 4)} assume true; {5241#(<= main_~i~0 4)} is VALID [2018-11-14 18:49:45,818 INFO L273 TraceCheckUtils]: 16: Hoare triple {5241#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5242#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:45,819 INFO L273 TraceCheckUtils]: 17: Hoare triple {5242#(<= main_~i~0 5)} assume true; {5242#(<= main_~i~0 5)} is VALID [2018-11-14 18:49:45,820 INFO L273 TraceCheckUtils]: 18: Hoare triple {5242#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5243#(<= main_~i~0 6)} is VALID [2018-11-14 18:49:45,820 INFO L273 TraceCheckUtils]: 19: Hoare triple {5243#(<= main_~i~0 6)} assume true; {5243#(<= main_~i~0 6)} is VALID [2018-11-14 18:49:45,821 INFO L273 TraceCheckUtils]: 20: Hoare triple {5243#(<= main_~i~0 6)} assume !(~i~0 < ~N~0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,822 INFO L273 TraceCheckUtils]: 21: Hoare triple {5244#(<= ~N~0 6)} ~i~0 := 0; {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,822 INFO L273 TraceCheckUtils]: 22: Hoare triple {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} assume true; {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,823 INFO L273 TraceCheckUtils]: 23: Hoare triple {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,824 INFO L256 TraceCheckUtils]: 24: Hoare triple {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,825 INFO L273 TraceCheckUtils]: 25: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,825 INFO L273 TraceCheckUtils]: 26: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,826 INFO L273 TraceCheckUtils]: 27: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,826 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {5244#(<= ~N~0 6)} {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} #60#return; {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,827 INFO L273 TraceCheckUtils]: 29: Hoare triple {5319#(and (<= 0 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,828 INFO L273 TraceCheckUtils]: 30: Hoare triple {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} assume true; {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,829 INFO L273 TraceCheckUtils]: 31: Hoare triple {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,830 INFO L256 TraceCheckUtils]: 32: Hoare triple {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,830 INFO L273 TraceCheckUtils]: 33: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,831 INFO L273 TraceCheckUtils]: 34: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,831 INFO L273 TraceCheckUtils]: 35: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,832 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5244#(<= ~N~0 6)} {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} #60#return; {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,833 INFO L273 TraceCheckUtils]: 37: Hoare triple {5344#(and (<= 1 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,833 INFO L273 TraceCheckUtils]: 38: Hoare triple {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} assume true; {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,834 INFO L273 TraceCheckUtils]: 39: Hoare triple {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,835 INFO L256 TraceCheckUtils]: 40: Hoare triple {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,836 INFO L273 TraceCheckUtils]: 41: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,836 INFO L273 TraceCheckUtils]: 42: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,837 INFO L273 TraceCheckUtils]: 43: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,837 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {5244#(<= ~N~0 6)} {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} #60#return; {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,838 INFO L273 TraceCheckUtils]: 45: Hoare triple {5369#(and (<= 2 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,839 INFO L273 TraceCheckUtils]: 46: Hoare triple {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} assume true; {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,840 INFO L273 TraceCheckUtils]: 47: Hoare triple {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,840 INFO L256 TraceCheckUtils]: 48: Hoare triple {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,841 INFO L273 TraceCheckUtils]: 49: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,842 INFO L273 TraceCheckUtils]: 50: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,842 INFO L273 TraceCheckUtils]: 51: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,843 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {5244#(<= ~N~0 6)} {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} #60#return; {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,844 INFO L273 TraceCheckUtils]: 53: Hoare triple {5394#(and (<= 3 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,844 INFO L273 TraceCheckUtils]: 54: Hoare triple {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} assume true; {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,845 INFO L273 TraceCheckUtils]: 55: Hoare triple {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,846 INFO L256 TraceCheckUtils]: 56: Hoare triple {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,847 INFO L273 TraceCheckUtils]: 57: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,847 INFO L273 TraceCheckUtils]: 58: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,848 INFO L273 TraceCheckUtils]: 59: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,848 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {5244#(<= ~N~0 6)} {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} #60#return; {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,849 INFO L273 TraceCheckUtils]: 61: Hoare triple {5419#(and (<= 4 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,850 INFO L273 TraceCheckUtils]: 62: Hoare triple {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} assume true; {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,851 INFO L273 TraceCheckUtils]: 63: Hoare triple {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,851 INFO L256 TraceCheckUtils]: 64: Hoare triple {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,852 INFO L273 TraceCheckUtils]: 65: Hoare triple {5244#(<= ~N~0 6)} ~cond := #in~cond; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,853 INFO L273 TraceCheckUtils]: 66: Hoare triple {5244#(<= ~N~0 6)} assume !(~cond == 0); {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,853 INFO L273 TraceCheckUtils]: 67: Hoare triple {5244#(<= ~N~0 6)} assume true; {5244#(<= ~N~0 6)} is VALID [2018-11-14 18:49:45,854 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {5244#(<= ~N~0 6)} {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} #60#return; {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,855 INFO L273 TraceCheckUtils]: 69: Hoare triple {5444#(and (<= 5 main_~i~0) (<= ~N~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {5469#(and (<= 6 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,855 INFO L273 TraceCheckUtils]: 70: Hoare triple {5469#(and (<= 6 main_~i~0) (<= ~N~0 6))} assume true; {5469#(and (<= 6 main_~i~0) (<= ~N~0 6))} is VALID [2018-11-14 18:49:45,856 INFO L273 TraceCheckUtils]: 71: Hoare triple {5469#(and (<= 6 main_~i~0) (<= ~N~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {5236#false} is VALID [2018-11-14 18:49:45,856 INFO L256 TraceCheckUtils]: 72: Hoare triple {5236#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5236#false} is VALID [2018-11-14 18:49:45,857 INFO L273 TraceCheckUtils]: 73: Hoare triple {5236#false} ~cond := #in~cond; {5236#false} is VALID [2018-11-14 18:49:45,857 INFO L273 TraceCheckUtils]: 74: Hoare triple {5236#false} assume ~cond == 0; {5236#false} is VALID [2018-11-14 18:49:45,857 INFO L273 TraceCheckUtils]: 75: Hoare triple {5236#false} assume !false; {5236#false} is VALID [2018-11-14 18:49:45,863 INFO L134 CoverageAnalysis]: Checked inductivity of 192 backedges. 90 proven. 42 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2018-11-14 18:49:45,884 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:45,884 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 25 [2018-11-14 18:49:45,885 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 76 [2018-11-14 18:49:45,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:45,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-14 18:49:45,979 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:45,979 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-14 18:49:45,980 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-14 18:49:45,980 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=149, Invalid=451, Unknown=0, NotChecked=0, Total=600 [2018-11-14 18:49:45,980 INFO L87 Difference]: Start difference. First operand 79 states and 80 transitions. Second operand 25 states. [2018-11-14 18:49:47,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:47,628 INFO L93 Difference]: Finished difference Result 147 states and 150 transitions. [2018-11-14 18:49:47,628 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-14 18:49:47,628 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 76 [2018-11-14 18:49:47,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:49:47,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:49:47,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 117 transitions. [2018-11-14 18:49:47,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:49:47,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 117 transitions. [2018-11-14 18:49:47,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 117 transitions. [2018-11-14 18:49:48,468 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:48,470 INFO L225 Difference]: With dead ends: 147 [2018-11-14 18:49:48,470 INFO L226 Difference]: Without dead ends: 86 [2018-11-14 18:49:48,471 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=247, Invalid=745, Unknown=0, NotChecked=0, Total=992 [2018-11-14 18:49:48,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-11-14 18:49:49,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 81. [2018-11-14 18:49:49,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:49:49,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 81 states. [2018-11-14 18:49:49,102 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 81 states. [2018-11-14 18:49:49,102 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 81 states. [2018-11-14 18:49:49,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:49,106 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-14 18:49:49,106 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 88 transitions. [2018-11-14 18:49:49,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:49,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:49,107 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 86 states. [2018-11-14 18:49:49,107 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 86 states. [2018-11-14 18:49:49,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:49:49,109 INFO L93 Difference]: Finished difference Result 86 states and 88 transitions. [2018-11-14 18:49:49,110 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 88 transitions. [2018-11-14 18:49:49,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:49:49,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:49:49,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:49:49,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:49:49,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-14 18:49:49,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 82 transitions. [2018-11-14 18:49:49,112 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 82 transitions. Word has length 76 [2018-11-14 18:49:49,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:49:49,113 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 82 transitions. [2018-11-14 18:49:49,113 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-14 18:49:49,113 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 82 transitions. [2018-11-14 18:49:49,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-14 18:49:49,114 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:49:49,114 INFO L375 BasicCegarLoop]: trace histogram [8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:49:49,114 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:49:49,115 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:49:49,115 INFO L82 PathProgramCache]: Analyzing trace with hash 213034304, now seen corresponding path program 12 times [2018-11-14 18:49:49,115 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:49:49,115 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:49:49,116 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:49,116 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:49:49,116 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:49:49,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:50,337 INFO L256 TraceCheckUtils]: 0: Hoare triple {5991#true} call ULTIMATE.init(); {5991#true} is VALID [2018-11-14 18:49:50,337 INFO L273 TraceCheckUtils]: 1: Hoare triple {5991#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5991#true} is VALID [2018-11-14 18:49:50,337 INFO L273 TraceCheckUtils]: 2: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,337 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5991#true} {5991#true} #56#return; {5991#true} is VALID [2018-11-14 18:49:50,338 INFO L256 TraceCheckUtils]: 4: Hoare triple {5991#true} call #t~ret2 := main(); {5991#true} is VALID [2018-11-14 18:49:50,338 INFO L273 TraceCheckUtils]: 5: Hoare triple {5991#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5991#true} is VALID [2018-11-14 18:49:50,338 INFO L273 TraceCheckUtils]: 6: Hoare triple {5991#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {5993#(= main_~k~0 0)} is VALID [2018-11-14 18:49:50,339 INFO L273 TraceCheckUtils]: 7: Hoare triple {5993#(= main_~k~0 0)} assume true; {5993#(= main_~k~0 0)} is VALID [2018-11-14 18:49:50,340 INFO L273 TraceCheckUtils]: 8: Hoare triple {5993#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:50,340 INFO L273 TraceCheckUtils]: 9: Hoare triple {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:50,341 INFO L273 TraceCheckUtils]: 10: Hoare triple {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:50,341 INFO L273 TraceCheckUtils]: 11: Hoare triple {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:50,342 INFO L273 TraceCheckUtils]: 12: Hoare triple {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:50,343 INFO L273 TraceCheckUtils]: 13: Hoare triple {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:50,344 INFO L273 TraceCheckUtils]: 14: Hoare triple {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:50,344 INFO L273 TraceCheckUtils]: 15: Hoare triple {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume true; {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:50,346 INFO L273 TraceCheckUtils]: 16: Hoare triple {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:50,346 INFO L273 TraceCheckUtils]: 17: Hoare triple {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume true; {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:50,347 INFO L273 TraceCheckUtils]: 18: Hoare triple {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5999#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:49:50,348 INFO L273 TraceCheckUtils]: 19: Hoare triple {5999#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume true; {5999#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:49:50,349 INFO L273 TraceCheckUtils]: 20: Hoare triple {5999#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} is VALID [2018-11-14 18:49:50,350 INFO L273 TraceCheckUtils]: 21: Hoare triple {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} assume true; {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} is VALID [2018-11-14 18:49:50,350 INFO L273 TraceCheckUtils]: 22: Hoare triple {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} assume !(~i~0 < ~N~0); {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} is VALID [2018-11-14 18:49:50,351 INFO L273 TraceCheckUtils]: 23: Hoare triple {6000#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6)} ~i~0 := 0; {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:50,352 INFO L273 TraceCheckUtils]: 24: Hoare triple {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} assume true; {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:50,352 INFO L273 TraceCheckUtils]: 25: Hoare triple {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:50,353 INFO L256 TraceCheckUtils]: 26: Hoare triple {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,353 INFO L273 TraceCheckUtils]: 27: Hoare triple {5991#true} ~cond := #in~cond; {6002#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:49:50,354 INFO L273 TraceCheckUtils]: 28: Hoare triple {6002#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:50,354 INFO L273 TraceCheckUtils]: 29: Hoare triple {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:50,355 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} #60#return; {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} is VALID [2018-11-14 18:49:50,356 INFO L273 TraceCheckUtils]: 31: Hoare triple {6001#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 6))) 6) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:49:50,357 INFO L273 TraceCheckUtils]: 32: Hoare triple {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume true; {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:49:50,357 INFO L273 TraceCheckUtils]: 33: Hoare triple {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:49:50,358 INFO L256 TraceCheckUtils]: 34: Hoare triple {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,358 INFO L273 TraceCheckUtils]: 35: Hoare triple {5991#true} ~cond := #in~cond; {5991#true} is VALID [2018-11-14 18:49:50,358 INFO L273 TraceCheckUtils]: 36: Hoare triple {5991#true} assume !(~cond == 0); {5991#true} is VALID [2018-11-14 18:49:50,358 INFO L273 TraceCheckUtils]: 37: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,359 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {5991#true} {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #60#return; {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:49:50,360 INFO L273 TraceCheckUtils]: 39: Hoare triple {6004#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:50,361 INFO L273 TraceCheckUtils]: 40: Hoare triple {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume true; {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:50,361 INFO L273 TraceCheckUtils]: 41: Hoare triple {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:50,361 INFO L256 TraceCheckUtils]: 42: Hoare triple {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,361 INFO L273 TraceCheckUtils]: 43: Hoare triple {5991#true} ~cond := #in~cond; {5991#true} is VALID [2018-11-14 18:49:50,361 INFO L273 TraceCheckUtils]: 44: Hoare triple {5991#true} assume !(~cond == 0); {5991#true} is VALID [2018-11-14 18:49:50,361 INFO L273 TraceCheckUtils]: 45: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,362 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5991#true} {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #60#return; {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:49:50,363 INFO L273 TraceCheckUtils]: 47: Hoare triple {6005#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:50,364 INFO L273 TraceCheckUtils]: 48: Hoare triple {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume true; {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:50,364 INFO L273 TraceCheckUtils]: 49: Hoare triple {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:50,365 INFO L256 TraceCheckUtils]: 50: Hoare triple {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,365 INFO L273 TraceCheckUtils]: 51: Hoare triple {5991#true} ~cond := #in~cond; {5991#true} is VALID [2018-11-14 18:49:50,365 INFO L273 TraceCheckUtils]: 52: Hoare triple {5991#true} assume !(~cond == 0); {5991#true} is VALID [2018-11-14 18:49:50,365 INFO L273 TraceCheckUtils]: 53: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,366 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5991#true} {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #60#return; {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:49:50,367 INFO L273 TraceCheckUtils]: 55: Hoare triple {6006#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:50,368 INFO L273 TraceCheckUtils]: 56: Hoare triple {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume true; {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:50,369 INFO L273 TraceCheckUtils]: 57: Hoare triple {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:50,369 INFO L256 TraceCheckUtils]: 58: Hoare triple {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,369 INFO L273 TraceCheckUtils]: 59: Hoare triple {5991#true} ~cond := #in~cond; {5991#true} is VALID [2018-11-14 18:49:50,369 INFO L273 TraceCheckUtils]: 60: Hoare triple {5991#true} assume !(~cond == 0); {5991#true} is VALID [2018-11-14 18:49:50,369 INFO L273 TraceCheckUtils]: 61: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,371 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {5991#true} {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #60#return; {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:49:50,372 INFO L273 TraceCheckUtils]: 63: Hoare triple {6007#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:50,372 INFO L273 TraceCheckUtils]: 64: Hoare triple {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume true; {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:50,373 INFO L273 TraceCheckUtils]: 65: Hoare triple {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:50,373 INFO L256 TraceCheckUtils]: 66: Hoare triple {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {5991#true} is VALID [2018-11-14 18:49:50,373 INFO L273 TraceCheckUtils]: 67: Hoare triple {5991#true} ~cond := #in~cond; {5991#true} is VALID [2018-11-14 18:49:50,374 INFO L273 TraceCheckUtils]: 68: Hoare triple {5991#true} assume !(~cond == 0); {5991#true} is VALID [2018-11-14 18:49:50,374 INFO L273 TraceCheckUtils]: 69: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:50,375 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {5991#true} {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #60#return; {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:49:50,376 INFO L273 TraceCheckUtils]: 71: Hoare triple {6008#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6009#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:50,376 INFO L273 TraceCheckUtils]: 72: Hoare triple {6009#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {6009#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:49:50,377 INFO L273 TraceCheckUtils]: 73: Hoare triple {6009#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6010#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:49:50,377 INFO L256 TraceCheckUtils]: 74: Hoare triple {6010#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:49:50,378 INFO L273 TraceCheckUtils]: 75: Hoare triple {6003#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6011#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:49:50,378 INFO L273 TraceCheckUtils]: 76: Hoare triple {6011#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {5992#false} is VALID [2018-11-14 18:49:50,378 INFO L273 TraceCheckUtils]: 77: Hoare triple {5992#false} assume !false; {5992#false} is VALID [2018-11-14 18:49:50,389 INFO L134 CoverageAnalysis]: Checked inductivity of 206 backedges. 11 proven. 150 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-14 18:49:50,390 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:49:50,390 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:49:50,402 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:49:50,458 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2018-11-14 18:49:50,458 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:49:50,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:49:50,488 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:49:50,562 INFO L477 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 18 treesize of output 15 [2018-11-14 18:49:50,567 INFO L477 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 15 treesize of output 14 [2018-11-14 18:49:50,572 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:50,574 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:50,585 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:50,585 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:25, output treesize:21 [2018-11-14 18:49:50,645 INFO L477 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 30 treesize of output 25 [2018-11-14 18:49:50,655 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:49:50,656 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:49:50,660 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 52 [2018-11-14 18:49:50,668 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:50,677 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:50,692 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 18:49:50,692 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:32 [2018-11-14 18:49:54,042 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 31 [2018-11-14 18:49:54,061 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:49:54,062 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:49:54,063 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:49:54,065 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 34 [2018-11-14 18:49:54,067 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:49:54,073 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:54,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:49:54,083 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:46, output treesize:10 [2018-11-14 18:49:54,087 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:49:54,206 INFO L256 TraceCheckUtils]: 0: Hoare triple {5991#true} call ULTIMATE.init(); {5991#true} is VALID [2018-11-14 18:49:54,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {5991#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {5991#true} is VALID [2018-11-14 18:49:54,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {5991#true} assume true; {5991#true} is VALID [2018-11-14 18:49:54,206 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5991#true} {5991#true} #56#return; {5991#true} is VALID [2018-11-14 18:49:54,206 INFO L256 TraceCheckUtils]: 4: Hoare triple {5991#true} call #t~ret2 := main(); {5991#true} is VALID [2018-11-14 18:49:54,206 INFO L273 TraceCheckUtils]: 5: Hoare triple {5991#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {5991#true} is VALID [2018-11-14 18:49:54,209 INFO L273 TraceCheckUtils]: 6: Hoare triple {5991#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {5993#(= main_~k~0 0)} is VALID [2018-11-14 18:49:54,210 INFO L273 TraceCheckUtils]: 7: Hoare triple {5993#(= main_~k~0 0)} assume true; {5993#(= main_~k~0 0)} is VALID [2018-11-14 18:49:54,210 INFO L273 TraceCheckUtils]: 8: Hoare triple {5993#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:54,211 INFO L273 TraceCheckUtils]: 9: Hoare triple {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:49:54,211 INFO L273 TraceCheckUtils]: 10: Hoare triple {5994#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:54,212 INFO L273 TraceCheckUtils]: 11: Hoare triple {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:49:54,212 INFO L273 TraceCheckUtils]: 12: Hoare triple {5995#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:54,213 INFO L273 TraceCheckUtils]: 13: Hoare triple {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:49:54,214 INFO L273 TraceCheckUtils]: 14: Hoare triple {5996#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:54,215 INFO L273 TraceCheckUtils]: 15: Hoare triple {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume true; {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:49:54,216 INFO L273 TraceCheckUtils]: 16: Hoare triple {5997#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:54,216 INFO L273 TraceCheckUtils]: 17: Hoare triple {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume true; {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:49:54,218 INFO L273 TraceCheckUtils]: 18: Hoare triple {5998#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6069#(and (= main_~k~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~k~0) |main_~#a~0.offset| (- 4))) 1)) (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:49:54,218 INFO L273 TraceCheckUtils]: 19: Hoare triple {6069#(and (= main_~k~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~k~0) |main_~#a~0.offset| (- 4))) 1)) (<= 6 main_~k~0) (<= main_~k~0 6))} assume true; {6069#(and (= main_~k~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~k~0) |main_~#a~0.offset| (- 4))) 1)) (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:49:54,237 INFO L273 TraceCheckUtils]: 20: Hoare triple {6069#(and (= main_~k~0 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~k~0) |main_~#a~0.offset| (- 4))) 1)) (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,242 INFO L273 TraceCheckUtils]: 21: Hoare triple {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} assume true; {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,242 INFO L273 TraceCheckUtils]: 22: Hoare triple {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} assume !(~i~0 < ~N~0); {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,243 INFO L273 TraceCheckUtils]: 23: Hoare triple {6076#(exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1))))} ~i~0 := 0; {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} is VALID [2018-11-14 18:49:54,243 INFO L273 TraceCheckUtils]: 24: Hoare triple {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} assume true; {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} is VALID [2018-11-14 18:49:54,244 INFO L273 TraceCheckUtils]: 25: Hoare triple {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} is VALID [2018-11-14 18:49:54,245 INFO L256 TraceCheckUtils]: 26: Hoare triple {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,246 INFO L273 TraceCheckUtils]: 27: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,246 INFO L273 TraceCheckUtils]: 28: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume !(~cond == 0); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,247 INFO L273 TraceCheckUtils]: 29: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume true; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,248 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} #60#return; {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} is VALID [2018-11-14 18:49:54,249 INFO L273 TraceCheckUtils]: 31: Hoare triple {6086#(and (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,250 INFO L273 TraceCheckUtils]: 32: Hoare triple {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,251 INFO L273 TraceCheckUtils]: 33: Hoare triple {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,253 INFO L256 TraceCheckUtils]: 34: Hoare triple {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,254 INFO L273 TraceCheckUtils]: 35: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,255 INFO L273 TraceCheckUtils]: 36: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume !(~cond == 0); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,255 INFO L273 TraceCheckUtils]: 37: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume true; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,256 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} #60#return; {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,257 INFO L273 TraceCheckUtils]: 39: Hoare triple {6112#(and (= main_~i~0 1) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,258 INFO L273 TraceCheckUtils]: 40: Hoare triple {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,259 INFO L273 TraceCheckUtils]: 41: Hoare triple {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,261 INFO L256 TraceCheckUtils]: 42: Hoare triple {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,262 INFO L273 TraceCheckUtils]: 43: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,263 INFO L273 TraceCheckUtils]: 44: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume !(~cond == 0); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,263 INFO L273 TraceCheckUtils]: 45: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume true; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,264 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} #60#return; {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,264 INFO L273 TraceCheckUtils]: 47: Hoare triple {6137#(and (= main_~i~0 2) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,265 INFO L273 TraceCheckUtils]: 48: Hoare triple {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,266 INFO L273 TraceCheckUtils]: 49: Hoare triple {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,268 INFO L256 TraceCheckUtils]: 50: Hoare triple {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,269 INFO L273 TraceCheckUtils]: 51: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,269 INFO L273 TraceCheckUtils]: 52: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume !(~cond == 0); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,270 INFO L273 TraceCheckUtils]: 53: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume true; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,271 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} #60#return; {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,272 INFO L273 TraceCheckUtils]: 55: Hoare triple {6162#(and (= main_~i~0 3) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,273 INFO L273 TraceCheckUtils]: 56: Hoare triple {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,274 INFO L273 TraceCheckUtils]: 57: Hoare triple {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,276 INFO L256 TraceCheckUtils]: 58: Hoare triple {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,276 INFO L273 TraceCheckUtils]: 59: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,277 INFO L273 TraceCheckUtils]: 60: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume !(~cond == 0); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,278 INFO L273 TraceCheckUtils]: 61: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} assume true; {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,278 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} #60#return; {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,279 INFO L273 TraceCheckUtils]: 63: Hoare triple {6187#(and (= main_~i~0 4) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,280 INFO L273 TraceCheckUtils]: 64: Hoare triple {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,281 INFO L273 TraceCheckUtils]: 65: Hoare triple {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6219#(and (= |main_#t~mem1| (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,283 INFO L256 TraceCheckUtils]: 66: Hoare triple {6219#(and (= |main_#t~mem1| (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} is VALID [2018-11-14 18:49:54,284 INFO L273 TraceCheckUtils]: 67: Hoare triple {6096#(exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1))))} ~cond := #in~cond; {6226#(and (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:49:54,285 INFO L273 TraceCheckUtils]: 68: Hoare triple {6226#(and (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {6230#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,286 INFO L273 TraceCheckUtils]: 69: Hoare triple {6230#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))))} assume true; {6230#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,288 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {6230#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~k~0_32 Int) (|v_main_~#a~0.offset_BEFORE_CALL_16| Int) (|v_main_~#a~0.base_BEFORE_CALL_16| Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (+ (* 4 v_main_~k~0_32) |v_main_~#a~0.offset_BEFORE_CALL_16| (- 4))) 1)))))} {6219#(and (= |main_#t~mem1| (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} #60#return; {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,290 INFO L273 TraceCheckUtils]: 71: Hoare triple {6212#(and (= main_~i~0 5) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6240#(and (= main_~i~0 6) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,290 INFO L273 TraceCheckUtils]: 72: Hoare triple {6240#(and (= main_~i~0 6) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume true; {6240#(and (= main_~i~0 6) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} is VALID [2018-11-14 18:49:54,292 INFO L273 TraceCheckUtils]: 73: Hoare triple {6240#(and (= main_~i~0 6) (exists ((v_main_~k~0_32 Int)) (and (<= 6 v_main_~k~0_32) (<= v_main_~k~0_32 6) (= v_main_~k~0_32 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset|))) (= v_main_~k~0_32 (+ (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 v_main_~k~0_32) |main_~#a~0.offset| (- 4))) 1)))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6247#(and (<= 6 |main_#t~mem1|) (<= |main_#t~mem1| 6) (= main_~i~0 6))} is VALID [2018-11-14 18:49:54,293 INFO L256 TraceCheckUtils]: 74: Hoare triple {6247#(and (<= 6 |main_#t~mem1|) (<= |main_#t~mem1| 6) (= main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6251#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:49:54,294 INFO L273 TraceCheckUtils]: 75: Hoare triple {6251#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6255#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:49:54,294 INFO L273 TraceCheckUtils]: 76: Hoare triple {6255#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {5992#false} is VALID [2018-11-14 18:49:54,294 INFO L273 TraceCheckUtils]: 77: Hoare triple {5992#false} assume !false; {5992#false} is VALID [2018-11-14 18:49:54,324 INFO L134 CoverageAnalysis]: Checked inductivity of 206 backedges. 15 proven. 146 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2018-11-14 18:49:54,345 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:49:54,345 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 24] total 37 [2018-11-14 18:49:54,346 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 78 [2018-11-14 18:49:54,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:49:54,346 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states. [2018-11-14 18:49:54,577 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:49:54,578 INFO L459 AbstractCegarLoop]: Interpolant automaton has 37 states [2018-11-14 18:49:54,578 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2018-11-14 18:49:54,579 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=123, Invalid=1209, Unknown=0, NotChecked=0, Total=1332 [2018-11-14 18:49:54,579 INFO L87 Difference]: Start difference. First operand 81 states and 82 transitions. Second operand 37 states. [2018-11-14 18:50:05,180 WARN L179 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 27 [2018-11-14 18:50:06,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:06,619 INFO L93 Difference]: Finished difference Result 92 states and 93 transitions. [2018-11-14 18:50:06,619 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2018-11-14 18:50:06,619 INFO L78 Accepts]: Start accepts. Automaton has 37 states. Word has length 78 [2018-11-14 18:50:06,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:06,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-14 18:50:06,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 75 transitions. [2018-11-14 18:50:06,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-14 18:50:06,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 75 transitions. [2018-11-14 18:50:06,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states and 75 transitions. [2018-11-14 18:50:07,038 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:07,041 INFO L225 Difference]: With dead ends: 92 [2018-11-14 18:50:07,042 INFO L226 Difference]: Without dead ends: 90 [2018-11-14 18:50:07,045 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 53 SyntacticMatches, 13 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 396 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=216, Invalid=1946, Unknown=0, NotChecked=0, Total=2162 [2018-11-14 18:50:07,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2018-11-14 18:50:07,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 89. [2018-11-14 18:50:07,616 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:07,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand 89 states. [2018-11-14 18:50:07,616 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 89 states. [2018-11-14 18:50:07,616 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 89 states. [2018-11-14 18:50:07,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:07,619 INFO L93 Difference]: Finished difference Result 90 states and 91 transitions. [2018-11-14 18:50:07,619 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 91 transitions. [2018-11-14 18:50:07,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:07,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:07,620 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 90 states. [2018-11-14 18:50:07,620 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 90 states. [2018-11-14 18:50:07,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:07,622 INFO L93 Difference]: Finished difference Result 90 states and 91 transitions. [2018-11-14 18:50:07,622 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 91 transitions. [2018-11-14 18:50:07,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:07,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:07,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:07,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:07,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-14 18:50:07,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 90 transitions. [2018-11-14 18:50:07,625 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 90 transitions. Word has length 78 [2018-11-14 18:50:07,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:07,626 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 90 transitions. [2018-11-14 18:50:07,626 INFO L481 AbstractCegarLoop]: Interpolant automaton has 37 states. [2018-11-14 18:50:07,626 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 90 transitions. [2018-11-14 18:50:07,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2018-11-14 18:50:07,627 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:07,627 INFO L375 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:07,627 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:07,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:07,628 INFO L82 PathProgramCache]: Analyzing trace with hash -1615489537, now seen corresponding path program 13 times [2018-11-14 18:50:07,628 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:07,628 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:07,629 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:07,629 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:07,629 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:07,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:08,301 INFO L256 TraceCheckUtils]: 0: Hoare triple {6715#true} call ULTIMATE.init(); {6715#true} is VALID [2018-11-14 18:50:08,301 INFO L273 TraceCheckUtils]: 1: Hoare triple {6715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {6715#true} is VALID [2018-11-14 18:50:08,302 INFO L273 TraceCheckUtils]: 2: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,302 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6715#true} {6715#true} #56#return; {6715#true} is VALID [2018-11-14 18:50:08,302 INFO L256 TraceCheckUtils]: 4: Hoare triple {6715#true} call #t~ret2 := main(); {6715#true} is VALID [2018-11-14 18:50:08,302 INFO L273 TraceCheckUtils]: 5: Hoare triple {6715#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {6715#true} is VALID [2018-11-14 18:50:08,303 INFO L273 TraceCheckUtils]: 6: Hoare triple {6715#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {6717#(= main_~i~0 0)} is VALID [2018-11-14 18:50:08,304 INFO L273 TraceCheckUtils]: 7: Hoare triple {6717#(= main_~i~0 0)} assume true; {6717#(= main_~i~0 0)} is VALID [2018-11-14 18:50:08,304 INFO L273 TraceCheckUtils]: 8: Hoare triple {6717#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6718#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:08,305 INFO L273 TraceCheckUtils]: 9: Hoare triple {6718#(<= main_~i~0 1)} assume true; {6718#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:08,306 INFO L273 TraceCheckUtils]: 10: Hoare triple {6718#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6719#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:08,306 INFO L273 TraceCheckUtils]: 11: Hoare triple {6719#(<= main_~i~0 2)} assume true; {6719#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:08,307 INFO L273 TraceCheckUtils]: 12: Hoare triple {6719#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6720#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:08,307 INFO L273 TraceCheckUtils]: 13: Hoare triple {6720#(<= main_~i~0 3)} assume true; {6720#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:08,309 INFO L273 TraceCheckUtils]: 14: Hoare triple {6720#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6721#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:08,309 INFO L273 TraceCheckUtils]: 15: Hoare triple {6721#(<= main_~i~0 4)} assume true; {6721#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:08,311 INFO L273 TraceCheckUtils]: 16: Hoare triple {6721#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6722#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:08,311 INFO L273 TraceCheckUtils]: 17: Hoare triple {6722#(<= main_~i~0 5)} assume true; {6722#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:08,312 INFO L273 TraceCheckUtils]: 18: Hoare triple {6722#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6723#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:08,313 INFO L273 TraceCheckUtils]: 19: Hoare triple {6723#(<= main_~i~0 6)} assume true; {6723#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:08,314 INFO L273 TraceCheckUtils]: 20: Hoare triple {6723#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6724#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:08,315 INFO L273 TraceCheckUtils]: 21: Hoare triple {6724#(<= main_~i~0 7)} assume true; {6724#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:08,316 INFO L273 TraceCheckUtils]: 22: Hoare triple {6724#(<= main_~i~0 7)} assume !(~i~0 < ~N~0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,316 INFO L273 TraceCheckUtils]: 23: Hoare triple {6725#(<= ~N~0 7)} ~i~0 := 0; {6726#(and (<= ~N~0 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:08,317 INFO L273 TraceCheckUtils]: 24: Hoare triple {6726#(and (<= ~N~0 7) (= main_~i~0 0))} assume true; {6726#(and (<= ~N~0 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:08,318 INFO L273 TraceCheckUtils]: 25: Hoare triple {6726#(and (<= ~N~0 7) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6726#(and (<= ~N~0 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:08,318 INFO L256 TraceCheckUtils]: 26: Hoare triple {6726#(and (<= ~N~0 7) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,318 INFO L273 TraceCheckUtils]: 27: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,319 INFO L273 TraceCheckUtils]: 28: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,319 INFO L273 TraceCheckUtils]: 29: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,335 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6715#true} {6726#(and (<= ~N~0 7) (= main_~i~0 0))} #60#return; {6726#(and (<= ~N~0 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:08,338 INFO L273 TraceCheckUtils]: 31: Hoare triple {6726#(and (<= ~N~0 7) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6727#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:08,339 INFO L273 TraceCheckUtils]: 32: Hoare triple {6727#(<= ~N~0 (+ main_~i~0 6))} assume true; {6727#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:08,339 INFO L273 TraceCheckUtils]: 33: Hoare triple {6727#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6727#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:08,339 INFO L256 TraceCheckUtils]: 34: Hoare triple {6727#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,339 INFO L273 TraceCheckUtils]: 35: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,339 INFO L273 TraceCheckUtils]: 36: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,340 INFO L273 TraceCheckUtils]: 37: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,340 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6715#true} {6727#(<= ~N~0 (+ main_~i~0 6))} #60#return; {6727#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:08,341 INFO L273 TraceCheckUtils]: 39: Hoare triple {6727#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6728#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:08,341 INFO L273 TraceCheckUtils]: 40: Hoare triple {6728#(<= ~N~0 (+ main_~i~0 5))} assume true; {6728#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:08,342 INFO L273 TraceCheckUtils]: 41: Hoare triple {6728#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6728#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:08,342 INFO L256 TraceCheckUtils]: 42: Hoare triple {6728#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,342 INFO L273 TraceCheckUtils]: 43: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,342 INFO L273 TraceCheckUtils]: 44: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,342 INFO L273 TraceCheckUtils]: 45: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,343 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6715#true} {6728#(<= ~N~0 (+ main_~i~0 5))} #60#return; {6728#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:08,344 INFO L273 TraceCheckUtils]: 47: Hoare triple {6728#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6729#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:08,344 INFO L273 TraceCheckUtils]: 48: Hoare triple {6729#(<= ~N~0 (+ main_~i~0 4))} assume true; {6729#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:08,345 INFO L273 TraceCheckUtils]: 49: Hoare triple {6729#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6729#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:08,345 INFO L256 TraceCheckUtils]: 50: Hoare triple {6729#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,345 INFO L273 TraceCheckUtils]: 51: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,345 INFO L273 TraceCheckUtils]: 52: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,346 INFO L273 TraceCheckUtils]: 53: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,347 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6715#true} {6729#(<= ~N~0 (+ main_~i~0 4))} #60#return; {6729#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:08,348 INFO L273 TraceCheckUtils]: 55: Hoare triple {6729#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6730#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:08,349 INFO L273 TraceCheckUtils]: 56: Hoare triple {6730#(<= ~N~0 (+ main_~i~0 3))} assume true; {6730#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:08,349 INFO L273 TraceCheckUtils]: 57: Hoare triple {6730#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6730#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:08,350 INFO L256 TraceCheckUtils]: 58: Hoare triple {6730#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,350 INFO L273 TraceCheckUtils]: 59: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,350 INFO L273 TraceCheckUtils]: 60: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,350 INFO L273 TraceCheckUtils]: 61: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,352 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {6715#true} {6730#(<= ~N~0 (+ main_~i~0 3))} #60#return; {6730#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:08,352 INFO L273 TraceCheckUtils]: 63: Hoare triple {6730#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6731#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:08,353 INFO L273 TraceCheckUtils]: 64: Hoare triple {6731#(<= ~N~0 (+ main_~i~0 2))} assume true; {6731#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:08,353 INFO L273 TraceCheckUtils]: 65: Hoare triple {6731#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6731#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:08,353 INFO L256 TraceCheckUtils]: 66: Hoare triple {6731#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,354 INFO L273 TraceCheckUtils]: 67: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,354 INFO L273 TraceCheckUtils]: 68: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,354 INFO L273 TraceCheckUtils]: 69: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,356 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {6715#true} {6731#(<= ~N~0 (+ main_~i~0 2))} #60#return; {6731#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:08,357 INFO L273 TraceCheckUtils]: 71: Hoare triple {6731#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6732#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:08,357 INFO L273 TraceCheckUtils]: 72: Hoare triple {6732#(<= ~N~0 (+ main_~i~0 1))} assume true; {6732#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:08,357 INFO L273 TraceCheckUtils]: 73: Hoare triple {6732#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6732#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:08,358 INFO L256 TraceCheckUtils]: 74: Hoare triple {6732#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6715#true} is VALID [2018-11-14 18:50:08,358 INFO L273 TraceCheckUtils]: 75: Hoare triple {6715#true} ~cond := #in~cond; {6715#true} is VALID [2018-11-14 18:50:08,358 INFO L273 TraceCheckUtils]: 76: Hoare triple {6715#true} assume !(~cond == 0); {6715#true} is VALID [2018-11-14 18:50:08,358 INFO L273 TraceCheckUtils]: 77: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,359 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {6715#true} {6732#(<= ~N~0 (+ main_~i~0 1))} #60#return; {6732#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:08,360 INFO L273 TraceCheckUtils]: 79: Hoare triple {6732#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6733#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:50:08,360 INFO L273 TraceCheckUtils]: 80: Hoare triple {6733#(<= ~N~0 main_~i~0)} assume true; {6733#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:50:08,361 INFO L273 TraceCheckUtils]: 81: Hoare triple {6733#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6716#false} is VALID [2018-11-14 18:50:08,361 INFO L256 TraceCheckUtils]: 82: Hoare triple {6716#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6716#false} is VALID [2018-11-14 18:50:08,361 INFO L273 TraceCheckUtils]: 83: Hoare triple {6716#false} ~cond := #in~cond; {6716#false} is VALID [2018-11-14 18:50:08,361 INFO L273 TraceCheckUtils]: 84: Hoare triple {6716#false} assume ~cond == 0; {6716#false} is VALID [2018-11-14 18:50:08,362 INFO L273 TraceCheckUtils]: 85: Hoare triple {6716#false} assume !false; {6716#false} is VALID [2018-11-14 18:50:08,373 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 93 proven. 82 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-14 18:50:08,373 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:08,373 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:50:08,383 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:08,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:08,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:08,440 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:08,861 INFO L256 TraceCheckUtils]: 0: Hoare triple {6715#true} call ULTIMATE.init(); {6715#true} is VALID [2018-11-14 18:50:08,861 INFO L273 TraceCheckUtils]: 1: Hoare triple {6715#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {6715#true} is VALID [2018-11-14 18:50:08,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {6715#true} assume true; {6715#true} is VALID [2018-11-14 18:50:08,862 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6715#true} {6715#true} #56#return; {6715#true} is VALID [2018-11-14 18:50:08,862 INFO L256 TraceCheckUtils]: 4: Hoare triple {6715#true} call #t~ret2 := main(); {6715#true} is VALID [2018-11-14 18:50:08,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {6715#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {6715#true} is VALID [2018-11-14 18:50:08,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {6715#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {6755#(<= main_~i~0 0)} is VALID [2018-11-14 18:50:08,863 INFO L273 TraceCheckUtils]: 7: Hoare triple {6755#(<= main_~i~0 0)} assume true; {6755#(<= main_~i~0 0)} is VALID [2018-11-14 18:50:08,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {6755#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6718#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:08,864 INFO L273 TraceCheckUtils]: 9: Hoare triple {6718#(<= main_~i~0 1)} assume true; {6718#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:08,867 INFO L273 TraceCheckUtils]: 10: Hoare triple {6718#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6719#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:08,868 INFO L273 TraceCheckUtils]: 11: Hoare triple {6719#(<= main_~i~0 2)} assume true; {6719#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:08,871 INFO L273 TraceCheckUtils]: 12: Hoare triple {6719#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6720#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:08,872 INFO L273 TraceCheckUtils]: 13: Hoare triple {6720#(<= main_~i~0 3)} assume true; {6720#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:08,873 INFO L273 TraceCheckUtils]: 14: Hoare triple {6720#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6721#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:08,873 INFO L273 TraceCheckUtils]: 15: Hoare triple {6721#(<= main_~i~0 4)} assume true; {6721#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:08,874 INFO L273 TraceCheckUtils]: 16: Hoare triple {6721#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6722#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:08,878 INFO L273 TraceCheckUtils]: 17: Hoare triple {6722#(<= main_~i~0 5)} assume true; {6722#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:08,879 INFO L273 TraceCheckUtils]: 18: Hoare triple {6722#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6723#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:08,880 INFO L273 TraceCheckUtils]: 19: Hoare triple {6723#(<= main_~i~0 6)} assume true; {6723#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:08,880 INFO L273 TraceCheckUtils]: 20: Hoare triple {6723#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {6724#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:08,882 INFO L273 TraceCheckUtils]: 21: Hoare triple {6724#(<= main_~i~0 7)} assume true; {6724#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:08,883 INFO L273 TraceCheckUtils]: 22: Hoare triple {6724#(<= main_~i~0 7)} assume !(~i~0 < ~N~0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,884 INFO L273 TraceCheckUtils]: 23: Hoare triple {6725#(<= ~N~0 7)} ~i~0 := 0; {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,884 INFO L273 TraceCheckUtils]: 24: Hoare triple {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} assume true; {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,886 INFO L273 TraceCheckUtils]: 25: Hoare triple {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,887 INFO L256 TraceCheckUtils]: 26: Hoare triple {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,887 INFO L273 TraceCheckUtils]: 27: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,892 INFO L273 TraceCheckUtils]: 28: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,892 INFO L273 TraceCheckUtils]: 29: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,894 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {6725#(<= ~N~0 7)} {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} #60#return; {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,894 INFO L273 TraceCheckUtils]: 31: Hoare triple {6807#(and (<= 0 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,895 INFO L273 TraceCheckUtils]: 32: Hoare triple {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} assume true; {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,899 INFO L273 TraceCheckUtils]: 33: Hoare triple {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,899 INFO L256 TraceCheckUtils]: 34: Hoare triple {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,901 INFO L273 TraceCheckUtils]: 35: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,901 INFO L273 TraceCheckUtils]: 36: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,903 INFO L273 TraceCheckUtils]: 37: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,903 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {6725#(<= ~N~0 7)} {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} #60#return; {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,905 INFO L273 TraceCheckUtils]: 39: Hoare triple {6832#(and (<= 1 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,905 INFO L273 TraceCheckUtils]: 40: Hoare triple {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} assume true; {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,907 INFO L273 TraceCheckUtils]: 41: Hoare triple {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,907 INFO L256 TraceCheckUtils]: 42: Hoare triple {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,910 INFO L273 TraceCheckUtils]: 43: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,910 INFO L273 TraceCheckUtils]: 44: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,912 INFO L273 TraceCheckUtils]: 45: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,912 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6725#(<= ~N~0 7)} {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} #60#return; {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,914 INFO L273 TraceCheckUtils]: 47: Hoare triple {6857#(and (<= 2 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,914 INFO L273 TraceCheckUtils]: 48: Hoare triple {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} assume true; {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,916 INFO L273 TraceCheckUtils]: 49: Hoare triple {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,917 INFO L256 TraceCheckUtils]: 50: Hoare triple {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,918 INFO L273 TraceCheckUtils]: 51: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,918 INFO L273 TraceCheckUtils]: 52: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,940 INFO L273 TraceCheckUtils]: 53: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,955 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {6725#(<= ~N~0 7)} {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} #60#return; {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,969 INFO L273 TraceCheckUtils]: 55: Hoare triple {6882#(and (<= 3 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,973 INFO L273 TraceCheckUtils]: 56: Hoare triple {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} assume true; {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,974 INFO L273 TraceCheckUtils]: 57: Hoare triple {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,974 INFO L256 TraceCheckUtils]: 58: Hoare triple {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,976 INFO L273 TraceCheckUtils]: 59: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,976 INFO L273 TraceCheckUtils]: 60: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,978 INFO L273 TraceCheckUtils]: 61: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,978 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {6725#(<= ~N~0 7)} {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} #60#return; {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,980 INFO L273 TraceCheckUtils]: 63: Hoare triple {6907#(and (<= 4 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,980 INFO L273 TraceCheckUtils]: 64: Hoare triple {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} assume true; {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,982 INFO L273 TraceCheckUtils]: 65: Hoare triple {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,982 INFO L256 TraceCheckUtils]: 66: Hoare triple {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,984 INFO L273 TraceCheckUtils]: 67: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,984 INFO L273 TraceCheckUtils]: 68: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,986 INFO L273 TraceCheckUtils]: 69: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,986 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {6725#(<= ~N~0 7)} {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} #60#return; {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,989 INFO L273 TraceCheckUtils]: 71: Hoare triple {6932#(and (<= 5 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,989 INFO L273 TraceCheckUtils]: 72: Hoare triple {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} assume true; {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,992 INFO L273 TraceCheckUtils]: 73: Hoare triple {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,992 INFO L256 TraceCheckUtils]: 74: Hoare triple {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,994 INFO L273 TraceCheckUtils]: 75: Hoare triple {6725#(<= ~N~0 7)} ~cond := #in~cond; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,994 INFO L273 TraceCheckUtils]: 76: Hoare triple {6725#(<= ~N~0 7)} assume !(~cond == 0); {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,996 INFO L273 TraceCheckUtils]: 77: Hoare triple {6725#(<= ~N~0 7)} assume true; {6725#(<= ~N~0 7)} is VALID [2018-11-14 18:50:08,996 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {6725#(<= ~N~0 7)} {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} #60#return; {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,998 INFO L273 TraceCheckUtils]: 79: Hoare triple {6957#(and (<= 6 main_~i~0) (<= ~N~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {6982#(and (<= 7 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:08,998 INFO L273 TraceCheckUtils]: 80: Hoare triple {6982#(and (<= 7 main_~i~0) (<= ~N~0 7))} assume true; {6982#(and (<= 7 main_~i~0) (<= ~N~0 7))} is VALID [2018-11-14 18:50:09,000 INFO L273 TraceCheckUtils]: 81: Hoare triple {6982#(and (<= 7 main_~i~0) (<= ~N~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {6716#false} is VALID [2018-11-14 18:50:09,000 INFO L256 TraceCheckUtils]: 82: Hoare triple {6716#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {6716#false} is VALID [2018-11-14 18:50:09,000 INFO L273 TraceCheckUtils]: 83: Hoare triple {6716#false} ~cond := #in~cond; {6716#false} is VALID [2018-11-14 18:50:09,000 INFO L273 TraceCheckUtils]: 84: Hoare triple {6716#false} assume ~cond == 0; {6716#false} is VALID [2018-11-14 18:50:09,000 INFO L273 TraceCheckUtils]: 85: Hoare triple {6716#false} assume !false; {6716#false} is VALID [2018-11-14 18:50:09,007 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 119 proven. 56 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2018-11-14 18:50:09,028 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:09,028 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 28 [2018-11-14 18:50:09,028 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 86 [2018-11-14 18:50:09,029 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:09,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-14 18:50:09,170 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:09,170 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-14 18:50:09,170 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-14 18:50:09,170 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=185, Invalid=571, Unknown=0, NotChecked=0, Total=756 [2018-11-14 18:50:09,171 INFO L87 Difference]: Start difference. First operand 89 states and 90 transitions. Second operand 28 states. [2018-11-14 18:50:10,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:10,604 INFO L93 Difference]: Finished difference Result 165 states and 168 transitions. [2018-11-14 18:50:10,604 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-14 18:50:10,604 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 86 [2018-11-14 18:50:10,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:10,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-14 18:50:10,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 129 transitions. [2018-11-14 18:50:10,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-14 18:50:10,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 129 transitions. [2018-11-14 18:50:10,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 129 transitions. [2018-11-14 18:50:10,726 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:10,729 INFO L225 Difference]: With dead ends: 165 [2018-11-14 18:50:10,729 INFO L226 Difference]: Without dead ends: 96 [2018-11-14 18:50:10,730 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 290 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=309, Invalid=951, Unknown=0, NotChecked=0, Total=1260 [2018-11-14 18:50:10,730 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2018-11-14 18:50:11,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 91. [2018-11-14 18:50:11,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:11,176 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand 91 states. [2018-11-14 18:50:11,176 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 91 states. [2018-11-14 18:50:11,177 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 91 states. [2018-11-14 18:50:11,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:11,179 INFO L93 Difference]: Finished difference Result 96 states and 98 transitions. [2018-11-14 18:50:11,179 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 98 transitions. [2018-11-14 18:50:11,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:11,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:11,180 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 96 states. [2018-11-14 18:50:11,180 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 96 states. [2018-11-14 18:50:11,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:11,181 INFO L93 Difference]: Finished difference Result 96 states and 98 transitions. [2018-11-14 18:50:11,182 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 98 transitions. [2018-11-14 18:50:11,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:11,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:11,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:11,182 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:11,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-11-14 18:50:11,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 92 transitions. [2018-11-14 18:50:11,184 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 92 transitions. Word has length 86 [2018-11-14 18:50:11,184 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:11,184 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 92 transitions. [2018-11-14 18:50:11,184 INFO L481 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-11-14 18:50:11,185 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 92 transitions. [2018-11-14 18:50:11,185 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2018-11-14 18:50:11,186 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:11,186 INFO L375 BasicCegarLoop]: trace histogram [9, 8, 8, 8, 8, 8, 7, 7, 7, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:11,186 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:11,186 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:11,186 INFO L82 PathProgramCache]: Analyzing trace with hash 143286905, now seen corresponding path program 14 times [2018-11-14 18:50:11,186 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:11,187 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:11,187 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:11,187 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:11,187 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:11,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:12,493 INFO L256 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2018-11-14 18:50:12,494 INFO L273 TraceCheckUtils]: 1: Hoare triple {7565#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {7565#true} is VALID [2018-11-14 18:50:12,494 INFO L273 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,494 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #56#return; {7565#true} is VALID [2018-11-14 18:50:12,494 INFO L256 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret2 := main(); {7565#true} is VALID [2018-11-14 18:50:12,494 INFO L273 TraceCheckUtils]: 5: Hoare triple {7565#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {7565#true} is VALID [2018-11-14 18:50:12,495 INFO L273 TraceCheckUtils]: 6: Hoare triple {7565#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {7567#(= main_~k~0 0)} is VALID [2018-11-14 18:50:12,495 INFO L273 TraceCheckUtils]: 7: Hoare triple {7567#(= main_~k~0 0)} assume true; {7567#(= main_~k~0 0)} is VALID [2018-11-14 18:50:12,496 INFO L273 TraceCheckUtils]: 8: Hoare triple {7567#(= main_~k~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7568#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:50:12,496 INFO L273 TraceCheckUtils]: 9: Hoare triple {7568#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume true; {7568#(and (<= main_~k~0 1) (<= 1 main_~k~0))} is VALID [2018-11-14 18:50:12,497 INFO L273 TraceCheckUtils]: 10: Hoare triple {7568#(and (<= main_~k~0 1) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7569#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:50:12,497 INFO L273 TraceCheckUtils]: 11: Hoare triple {7569#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume true; {7569#(and (<= 2 main_~k~0) (<= main_~k~0 2))} is VALID [2018-11-14 18:50:12,498 INFO L273 TraceCheckUtils]: 12: Hoare triple {7569#(and (<= 2 main_~k~0) (<= main_~k~0 2))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7570#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:50:12,499 INFO L273 TraceCheckUtils]: 13: Hoare triple {7570#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume true; {7570#(and (<= 3 main_~k~0) (<= main_~k~0 3))} is VALID [2018-11-14 18:50:12,500 INFO L273 TraceCheckUtils]: 14: Hoare triple {7570#(and (<= 3 main_~k~0) (<= main_~k~0 3))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7571#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:50:12,501 INFO L273 TraceCheckUtils]: 15: Hoare triple {7571#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume true; {7571#(and (<= main_~k~0 4) (<= 4 main_~k~0))} is VALID [2018-11-14 18:50:12,502 INFO L273 TraceCheckUtils]: 16: Hoare triple {7571#(and (<= main_~k~0 4) (<= 4 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7572#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:50:12,502 INFO L273 TraceCheckUtils]: 17: Hoare triple {7572#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume true; {7572#(and (<= main_~k~0 5) (<= 5 main_~k~0))} is VALID [2018-11-14 18:50:12,503 INFO L273 TraceCheckUtils]: 18: Hoare triple {7572#(and (<= main_~k~0 5) (<= 5 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7573#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:50:12,504 INFO L273 TraceCheckUtils]: 19: Hoare triple {7573#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume true; {7573#(and (<= 6 main_~k~0) (<= main_~k~0 6))} is VALID [2018-11-14 18:50:12,505 INFO L273 TraceCheckUtils]: 20: Hoare triple {7573#(and (<= 6 main_~k~0) (<= main_~k~0 6))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7574#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-14 18:50:12,506 INFO L273 TraceCheckUtils]: 21: Hoare triple {7574#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume true; {7574#(and (<= main_~k~0 7) (<= 7 main_~k~0))} is VALID [2018-11-14 18:50:12,507 INFO L273 TraceCheckUtils]: 22: Hoare triple {7574#(and (<= main_~k~0 7) (<= 7 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} is VALID [2018-11-14 18:50:12,507 INFO L273 TraceCheckUtils]: 23: Hoare triple {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} assume true; {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} is VALID [2018-11-14 18:50:12,508 INFO L273 TraceCheckUtils]: 24: Hoare triple {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} assume !(~i~0 < ~N~0); {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} is VALID [2018-11-14 18:50:12,509 INFO L273 TraceCheckUtils]: 25: Hoare triple {7575#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7)} ~i~0 := 0; {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:12,509 INFO L273 TraceCheckUtils]: 26: Hoare triple {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} assume true; {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:12,510 INFO L273 TraceCheckUtils]: 27: Hoare triple {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:12,510 INFO L256 TraceCheckUtils]: 28: Hoare triple {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,511 INFO L273 TraceCheckUtils]: 29: Hoare triple {7565#true} ~cond := #in~cond; {7577#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:50:12,511 INFO L273 TraceCheckUtils]: 30: Hoare triple {7577#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:12,512 INFO L273 TraceCheckUtils]: 31: Hoare triple {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:12,513 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} #60#return; {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} is VALID [2018-11-14 18:50:12,514 INFO L273 TraceCheckUtils]: 33: Hoare triple {7576#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 7))) 7) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-14 18:50:12,515 INFO L273 TraceCheckUtils]: 34: Hoare triple {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume true; {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-14 18:50:12,515 INFO L273 TraceCheckUtils]: 35: Hoare triple {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-14 18:50:12,515 INFO L256 TraceCheckUtils]: 36: Hoare triple {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,516 INFO L273 TraceCheckUtils]: 37: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,516 INFO L273 TraceCheckUtils]: 38: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,516 INFO L273 TraceCheckUtils]: 39: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,517 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {7565#true} {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} #60#return; {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} is VALID [2018-11-14 18:50:12,518 INFO L273 TraceCheckUtils]: 41: Hoare triple {7579#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:50:12,519 INFO L273 TraceCheckUtils]: 42: Hoare triple {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume true; {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:50:12,519 INFO L273 TraceCheckUtils]: 43: Hoare triple {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:50:12,520 INFO L256 TraceCheckUtils]: 44: Hoare triple {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,520 INFO L273 TraceCheckUtils]: 45: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,520 INFO L273 TraceCheckUtils]: 46: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,520 INFO L273 TraceCheckUtils]: 47: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,521 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {7565#true} {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} #60#return; {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} is VALID [2018-11-14 18:50:12,522 INFO L273 TraceCheckUtils]: 49: Hoare triple {7580#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:50:12,523 INFO L273 TraceCheckUtils]: 50: Hoare triple {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume true; {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:50:12,523 INFO L273 TraceCheckUtils]: 51: Hoare triple {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:50:12,523 INFO L256 TraceCheckUtils]: 52: Hoare triple {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,523 INFO L273 TraceCheckUtils]: 53: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,523 INFO L273 TraceCheckUtils]: 54: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,523 INFO L273 TraceCheckUtils]: 55: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,524 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {7565#true} {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} #60#return; {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} is VALID [2018-11-14 18:50:12,525 INFO L273 TraceCheckUtils]: 57: Hoare triple {7581#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:50:12,526 INFO L273 TraceCheckUtils]: 58: Hoare triple {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume true; {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:50:12,526 INFO L273 TraceCheckUtils]: 59: Hoare triple {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:50:12,526 INFO L256 TraceCheckUtils]: 60: Hoare triple {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,527 INFO L273 TraceCheckUtils]: 61: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,527 INFO L273 TraceCheckUtils]: 62: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,527 INFO L273 TraceCheckUtils]: 63: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,528 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {7565#true} {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} #60#return; {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} is VALID [2018-11-14 18:50:12,529 INFO L273 TraceCheckUtils]: 65: Hoare triple {7582#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:50:12,530 INFO L273 TraceCheckUtils]: 66: Hoare triple {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume true; {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:50:12,530 INFO L273 TraceCheckUtils]: 67: Hoare triple {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:50:12,530 INFO L256 TraceCheckUtils]: 68: Hoare triple {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,531 INFO L273 TraceCheckUtils]: 69: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,531 INFO L273 TraceCheckUtils]: 70: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,531 INFO L273 TraceCheckUtils]: 71: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,532 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {7565#true} {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} #60#return; {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} is VALID [2018-11-14 18:50:12,533 INFO L273 TraceCheckUtils]: 73: Hoare triple {7583#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:50:12,534 INFO L273 TraceCheckUtils]: 74: Hoare triple {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume true; {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:50:12,534 INFO L273 TraceCheckUtils]: 75: Hoare triple {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:50:12,535 INFO L256 TraceCheckUtils]: 76: Hoare triple {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7565#true} is VALID [2018-11-14 18:50:12,535 INFO L273 TraceCheckUtils]: 77: Hoare triple {7565#true} ~cond := #in~cond; {7565#true} is VALID [2018-11-14 18:50:12,535 INFO L273 TraceCheckUtils]: 78: Hoare triple {7565#true} assume !(~cond == 0); {7565#true} is VALID [2018-11-14 18:50:12,535 INFO L273 TraceCheckUtils]: 79: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:12,536 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {7565#true} {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} #60#return; {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} is VALID [2018-11-14 18:50:12,537 INFO L273 TraceCheckUtils]: 81: Hoare triple {7584#(= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7585#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:50:12,538 INFO L273 TraceCheckUtils]: 82: Hoare triple {7585#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume true; {7585#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} is VALID [2018-11-14 18:50:12,538 INFO L273 TraceCheckUtils]: 83: Hoare triple {7585#(= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7586#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:50:12,539 INFO L256 TraceCheckUtils]: 84: Hoare triple {7586#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:12,540 INFO L273 TraceCheckUtils]: 85: Hoare triple {7578#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7587#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:50:12,540 INFO L273 TraceCheckUtils]: 86: Hoare triple {7587#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {7566#false} is VALID [2018-11-14 18:50:12,541 INFO L273 TraceCheckUtils]: 87: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2018-11-14 18:50:12,552 INFO L134 CoverageAnalysis]: Checked inductivity of 275 backedges. 13 proven. 196 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-14 18:50:12,553 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:12,553 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:50:12,562 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:50:12,595 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:50:12,595 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:12,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:12,616 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:12,914 INFO L477 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-14 18:50:12,922 INFO L477 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-14 18:50:12,924 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:50:12,927 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:50:12,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:50:12,933 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:17, output treesize:13 [2018-11-14 18:50:14,603 INFO L477 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 17 treesize of output 13 [2018-11-14 18:50:14,607 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:50:14,608 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-14 18:50:14,609 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:50:14,613 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:50:14,617 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-14 18:50:14,617 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:20, output treesize:7 [2018-11-14 18:50:14,620 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:50:14,937 INFO L256 TraceCheckUtils]: 0: Hoare triple {7565#true} call ULTIMATE.init(); {7565#true} is VALID [2018-11-14 18:50:14,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {7565#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {7565#true} is VALID [2018-11-14 18:50:14,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {7565#true} assume true; {7565#true} is VALID [2018-11-14 18:50:14,938 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7565#true} {7565#true} #56#return; {7565#true} is VALID [2018-11-14 18:50:14,938 INFO L256 TraceCheckUtils]: 4: Hoare triple {7565#true} call #t~ret2 := main(); {7565#true} is VALID [2018-11-14 18:50:14,938 INFO L273 TraceCheckUtils]: 5: Hoare triple {7565#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {7565#true} is VALID [2018-11-14 18:50:14,939 INFO L273 TraceCheckUtils]: 6: Hoare triple {7565#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {7609#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,940 INFO L273 TraceCheckUtils]: 7: Hoare triple {7609#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {7609#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,940 INFO L273 TraceCheckUtils]: 8: Hoare triple {7609#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7616#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,941 INFO L273 TraceCheckUtils]: 9: Hoare triple {7616#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume true; {7616#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {7616#(and (= main_~k~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7623#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,952 INFO L273 TraceCheckUtils]: 11: Hoare triple {7623#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {7623#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,953 INFO L273 TraceCheckUtils]: 12: Hoare triple {7623#(and (= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7630#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,953 INFO L273 TraceCheckUtils]: 13: Hoare triple {7630#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume true; {7630#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,953 INFO L273 TraceCheckUtils]: 14: Hoare triple {7630#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7637#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,954 INFO L273 TraceCheckUtils]: 15: Hoare triple {7637#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume true; {7637#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,954 INFO L273 TraceCheckUtils]: 16: Hoare triple {7637#(and (= main_~k~0 4) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7644#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,955 INFO L273 TraceCheckUtils]: 17: Hoare triple {7644#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume true; {7644#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,955 INFO L273 TraceCheckUtils]: 18: Hoare triple {7644#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7651#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,956 INFO L273 TraceCheckUtils]: 19: Hoare triple {7651#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume true; {7651#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,956 INFO L273 TraceCheckUtils]: 20: Hoare triple {7651#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7658#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,957 INFO L273 TraceCheckUtils]: 21: Hoare triple {7658#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume true; {7658#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:14,958 INFO L273 TraceCheckUtils]: 22: Hoare triple {7658#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,959 INFO L273 TraceCheckUtils]: 23: Hoare triple {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,959 INFO L273 TraceCheckUtils]: 24: Hoare triple {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !(~i~0 < ~N~0); {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,960 INFO L273 TraceCheckUtils]: 25: Hoare triple {7665#(and (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} ~i~0 := 0; {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,961 INFO L273 TraceCheckUtils]: 26: Hoare triple {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,962 INFO L273 TraceCheckUtils]: 27: Hoare triple {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,963 INFO L256 TraceCheckUtils]: 28: Hoare triple {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,964 INFO L273 TraceCheckUtils]: 29: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7689#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-14 18:50:14,965 INFO L273 TraceCheckUtils]: 30: Hoare triple {7689#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(~cond == 0); {7693#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)))} is VALID [2018-11-14 18:50:14,965 INFO L273 TraceCheckUtils]: 31: Hoare triple {7693#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)))} assume true; {7693#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)))} is VALID [2018-11-14 18:50:14,966 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {7693#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7)))} {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,967 INFO L273 TraceCheckUtils]: 33: Hoare triple {7675#(and (= main_~i~0 0) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,968 INFO L273 TraceCheckUtils]: 34: Hoare triple {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,969 INFO L273 TraceCheckUtils]: 35: Hoare triple {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,970 INFO L256 TraceCheckUtils]: 36: Hoare triple {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,971 INFO L273 TraceCheckUtils]: 37: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,971 INFO L273 TraceCheckUtils]: 38: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,972 INFO L273 TraceCheckUtils]: 39: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,973 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,974 INFO L273 TraceCheckUtils]: 41: Hoare triple {7703#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,974 INFO L273 TraceCheckUtils]: 42: Hoare triple {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,975 INFO L273 TraceCheckUtils]: 43: Hoare triple {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,977 INFO L256 TraceCheckUtils]: 44: Hoare triple {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,977 INFO L273 TraceCheckUtils]: 45: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,978 INFO L273 TraceCheckUtils]: 46: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,978 INFO L273 TraceCheckUtils]: 47: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,979 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,980 INFO L273 TraceCheckUtils]: 49: Hoare triple {7728#(and (= main_~i~0 2) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,981 INFO L273 TraceCheckUtils]: 50: Hoare triple {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,982 INFO L273 TraceCheckUtils]: 51: Hoare triple {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,983 INFO L256 TraceCheckUtils]: 52: Hoare triple {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,984 INFO L273 TraceCheckUtils]: 53: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,984 INFO L273 TraceCheckUtils]: 54: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,985 INFO L273 TraceCheckUtils]: 55: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,986 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,987 INFO L273 TraceCheckUtils]: 57: Hoare triple {7753#(and (= main_~i~0 3) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,987 INFO L273 TraceCheckUtils]: 58: Hoare triple {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,988 INFO L273 TraceCheckUtils]: 59: Hoare triple {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,990 INFO L256 TraceCheckUtils]: 60: Hoare triple {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,990 INFO L273 TraceCheckUtils]: 61: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,991 INFO L273 TraceCheckUtils]: 62: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,991 INFO L273 TraceCheckUtils]: 63: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,992 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,993 INFO L273 TraceCheckUtils]: 65: Hoare triple {7778#(and (= main_~i~0 4) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,994 INFO L273 TraceCheckUtils]: 66: Hoare triple {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,995 INFO L273 TraceCheckUtils]: 67: Hoare triple {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:14,996 INFO L256 TraceCheckUtils]: 68: Hoare triple {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,997 INFO L273 TraceCheckUtils]: 69: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,997 INFO L273 TraceCheckUtils]: 70: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,998 INFO L273 TraceCheckUtils]: 71: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:14,999 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,000 INFO L273 TraceCheckUtils]: 73: Hoare triple {7803#(and (= main_~i~0 5) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,000 INFO L273 TraceCheckUtils]: 74: Hoare triple {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,001 INFO L273 TraceCheckUtils]: 75: Hoare triple {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,003 INFO L256 TraceCheckUtils]: 76: Hoare triple {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:15,003 INFO L273 TraceCheckUtils]: 77: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} ~cond := #in~cond; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:15,004 INFO L273 TraceCheckUtils]: 78: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume !(~cond == 0); {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:15,004 INFO L273 TraceCheckUtils]: 79: Hoare triple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} assume true; {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} is VALID [2018-11-14 18:50:15,005 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {7685#(exists ((|v_main_~#a~0.base_BEFORE_CALL_22| Int)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_22|) 28) 7))} {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} #60#return; {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,006 INFO L273 TraceCheckUtils]: 81: Hoare triple {7828#(and (= main_~i~0 6) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} havoc #t~mem1;~i~0 := ~i~0 + 1; {7853#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,007 INFO L273 TraceCheckUtils]: 82: Hoare triple {7853#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume true; {7853#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} is VALID [2018-11-14 18:50:15,008 INFO L273 TraceCheckUtils]: 83: Hoare triple {7853#(and (= main_~i~0 7) (= |main_~#a~0.offset| 0) (= 7 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 28))))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {7860#(and (= 7 |main_#t~mem1|) (= main_~i~0 7))} is VALID [2018-11-14 18:50:15,009 INFO L256 TraceCheckUtils]: 84: Hoare triple {7860#(and (= 7 |main_#t~mem1|) (= main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {7864#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:50:15,009 INFO L273 TraceCheckUtils]: 85: Hoare triple {7864#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7868#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:50:15,010 INFO L273 TraceCheckUtils]: 86: Hoare triple {7868#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {7566#false} is VALID [2018-11-14 18:50:15,010 INFO L273 TraceCheckUtils]: 87: Hoare triple {7566#false} assume !false; {7566#false} is VALID [2018-11-14 18:50:15,028 INFO L134 CoverageAnalysis]: Checked inductivity of 275 backedges. 0 proven. 209 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2018-11-14 18:50:15,048 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:15,048 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 25] total 46 [2018-11-14 18:50:15,048 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 88 [2018-11-14 18:50:15,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:15,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 46 states. [2018-11-14 18:50:15,204 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:15,204 INFO L459 AbstractCegarLoop]: Interpolant automaton has 46 states [2018-11-14 18:50:15,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2018-11-14 18:50:15,205 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=139, Invalid=1931, Unknown=0, NotChecked=0, Total=2070 [2018-11-14 18:50:15,205 INFO L87 Difference]: Start difference. First operand 91 states and 92 transitions. Second operand 46 states. [2018-11-14 18:50:20,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:20,362 INFO L93 Difference]: Finished difference Result 102 states and 103 transitions. [2018-11-14 18:50:20,362 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2018-11-14 18:50:20,362 INFO L78 Accepts]: Start accepts. Automaton has 46 states. Word has length 88 [2018-11-14 18:50:20,363 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:20,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-14 18:50:20,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 82 transitions. [2018-11-14 18:50:20,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-14 18:50:20,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 82 transitions. [2018-11-14 18:50:20,365 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 82 transitions. [2018-11-14 18:50:20,461 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-14 18:50:20,463 INFO L225 Difference]: With dead ends: 102 [2018-11-14 18:50:20,463 INFO L226 Difference]: Without dead ends: 100 [2018-11-14 18:50:20,464 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 54 SyntacticMatches, 14 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 816 ImplicationChecksByTransitivity, 2.9s TimeCoverageRelationStatistics Valid=244, Invalid=3062, Unknown=0, NotChecked=0, Total=3306 [2018-11-14 18:50:20,464 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-14 18:50:20,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2018-11-14 18:50:20,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:20,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 99 states. [2018-11-14 18:50:20,788 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 99 states. [2018-11-14 18:50:20,789 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 99 states. [2018-11-14 18:50:20,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:20,792 INFO L93 Difference]: Finished difference Result 100 states and 101 transitions. [2018-11-14 18:50:20,792 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 101 transitions. [2018-11-14 18:50:20,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:20,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:20,793 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 100 states. [2018-11-14 18:50:20,793 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 100 states. [2018-11-14 18:50:20,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:20,795 INFO L93 Difference]: Finished difference Result 100 states and 101 transitions. [2018-11-14 18:50:20,795 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 101 transitions. [2018-11-14 18:50:20,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:20,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:20,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:20,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:20,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 99 states. [2018-11-14 18:50:20,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 100 transitions. [2018-11-14 18:50:20,798 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 100 transitions. Word has length 88 [2018-11-14 18:50:20,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:20,798 INFO L480 AbstractCegarLoop]: Abstraction has 99 states and 100 transitions. [2018-11-14 18:50:20,798 INFO L481 AbstractCegarLoop]: Interpolant automaton has 46 states. [2018-11-14 18:50:20,798 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 100 transitions. [2018-11-14 18:50:20,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2018-11-14 18:50:20,799 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:20,800 INFO L375 BasicCegarLoop]: trace histogram [9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:20,800 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:20,800 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:20,800 INFO L82 PathProgramCache]: Analyzing trace with hash 1572670008, now seen corresponding path program 15 times [2018-11-14 18:50:20,800 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:20,800 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:20,801 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:20,801 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:20,801 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:20,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:21,163 INFO L256 TraceCheckUtils]: 0: Hoare triple {8379#true} call ULTIMATE.init(); {8379#true} is VALID [2018-11-14 18:50:21,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {8379#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {8379#true} is VALID [2018-11-14 18:50:21,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,164 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8379#true} {8379#true} #56#return; {8379#true} is VALID [2018-11-14 18:50:21,165 INFO L256 TraceCheckUtils]: 4: Hoare triple {8379#true} call #t~ret2 := main(); {8379#true} is VALID [2018-11-14 18:50:21,165 INFO L273 TraceCheckUtils]: 5: Hoare triple {8379#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {8379#true} is VALID [2018-11-14 18:50:21,165 INFO L273 TraceCheckUtils]: 6: Hoare triple {8379#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {8381#(= main_~i~0 0)} is VALID [2018-11-14 18:50:21,166 INFO L273 TraceCheckUtils]: 7: Hoare triple {8381#(= main_~i~0 0)} assume true; {8381#(= main_~i~0 0)} is VALID [2018-11-14 18:50:21,166 INFO L273 TraceCheckUtils]: 8: Hoare triple {8381#(= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8382#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:21,167 INFO L273 TraceCheckUtils]: 9: Hoare triple {8382#(<= main_~i~0 1)} assume true; {8382#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:21,167 INFO L273 TraceCheckUtils]: 10: Hoare triple {8382#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8383#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:21,168 INFO L273 TraceCheckUtils]: 11: Hoare triple {8383#(<= main_~i~0 2)} assume true; {8383#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:21,169 INFO L273 TraceCheckUtils]: 12: Hoare triple {8383#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8384#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:21,169 INFO L273 TraceCheckUtils]: 13: Hoare triple {8384#(<= main_~i~0 3)} assume true; {8384#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:21,170 INFO L273 TraceCheckUtils]: 14: Hoare triple {8384#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8385#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:21,171 INFO L273 TraceCheckUtils]: 15: Hoare triple {8385#(<= main_~i~0 4)} assume true; {8385#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:21,172 INFO L273 TraceCheckUtils]: 16: Hoare triple {8385#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8386#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:21,172 INFO L273 TraceCheckUtils]: 17: Hoare triple {8386#(<= main_~i~0 5)} assume true; {8386#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:21,173 INFO L273 TraceCheckUtils]: 18: Hoare triple {8386#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8387#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:21,174 INFO L273 TraceCheckUtils]: 19: Hoare triple {8387#(<= main_~i~0 6)} assume true; {8387#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:21,175 INFO L273 TraceCheckUtils]: 20: Hoare triple {8387#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8388#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:21,175 INFO L273 TraceCheckUtils]: 21: Hoare triple {8388#(<= main_~i~0 7)} assume true; {8388#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:21,176 INFO L273 TraceCheckUtils]: 22: Hoare triple {8388#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8389#(<= main_~i~0 8)} is VALID [2018-11-14 18:50:21,177 INFO L273 TraceCheckUtils]: 23: Hoare triple {8389#(<= main_~i~0 8)} assume true; {8389#(<= main_~i~0 8)} is VALID [2018-11-14 18:50:21,177 INFO L273 TraceCheckUtils]: 24: Hoare triple {8389#(<= main_~i~0 8)} assume !(~i~0 < ~N~0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,178 INFO L273 TraceCheckUtils]: 25: Hoare triple {8390#(<= ~N~0 8)} ~i~0 := 0; {8391#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-14 18:50:21,179 INFO L273 TraceCheckUtils]: 26: Hoare triple {8391#(and (<= ~N~0 8) (= main_~i~0 0))} assume true; {8391#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-14 18:50:21,179 INFO L273 TraceCheckUtils]: 27: Hoare triple {8391#(and (<= ~N~0 8) (= main_~i~0 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8391#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-14 18:50:21,180 INFO L256 TraceCheckUtils]: 28: Hoare triple {8391#(and (<= ~N~0 8) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,180 INFO L273 TraceCheckUtils]: 29: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,180 INFO L273 TraceCheckUtils]: 30: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,180 INFO L273 TraceCheckUtils]: 31: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,181 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {8379#true} {8391#(and (<= ~N~0 8) (= main_~i~0 0))} #60#return; {8391#(and (<= ~N~0 8) (= main_~i~0 0))} is VALID [2018-11-14 18:50:21,182 INFO L273 TraceCheckUtils]: 33: Hoare triple {8391#(and (<= ~N~0 8) (= main_~i~0 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8392#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-14 18:50:21,183 INFO L273 TraceCheckUtils]: 34: Hoare triple {8392#(<= ~N~0 (+ main_~i~0 7))} assume true; {8392#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-14 18:50:21,183 INFO L273 TraceCheckUtils]: 35: Hoare triple {8392#(<= ~N~0 (+ main_~i~0 7))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8392#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-14 18:50:21,184 INFO L256 TraceCheckUtils]: 36: Hoare triple {8392#(<= ~N~0 (+ main_~i~0 7))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,184 INFO L273 TraceCheckUtils]: 37: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,184 INFO L273 TraceCheckUtils]: 38: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,184 INFO L273 TraceCheckUtils]: 39: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,185 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {8379#true} {8392#(<= ~N~0 (+ main_~i~0 7))} #60#return; {8392#(<= ~N~0 (+ main_~i~0 7))} is VALID [2018-11-14 18:50:21,186 INFO L273 TraceCheckUtils]: 41: Hoare triple {8392#(<= ~N~0 (+ main_~i~0 7))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8393#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:21,186 INFO L273 TraceCheckUtils]: 42: Hoare triple {8393#(<= ~N~0 (+ main_~i~0 6))} assume true; {8393#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:21,186 INFO L273 TraceCheckUtils]: 43: Hoare triple {8393#(<= ~N~0 (+ main_~i~0 6))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8393#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:21,187 INFO L256 TraceCheckUtils]: 44: Hoare triple {8393#(<= ~N~0 (+ main_~i~0 6))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,187 INFO L273 TraceCheckUtils]: 45: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,187 INFO L273 TraceCheckUtils]: 46: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,187 INFO L273 TraceCheckUtils]: 47: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,188 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {8379#true} {8393#(<= ~N~0 (+ main_~i~0 6))} #60#return; {8393#(<= ~N~0 (+ main_~i~0 6))} is VALID [2018-11-14 18:50:21,188 INFO L273 TraceCheckUtils]: 49: Hoare triple {8393#(<= ~N~0 (+ main_~i~0 6))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8394#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:21,188 INFO L273 TraceCheckUtils]: 50: Hoare triple {8394#(<= ~N~0 (+ main_~i~0 5))} assume true; {8394#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:21,189 INFO L273 TraceCheckUtils]: 51: Hoare triple {8394#(<= ~N~0 (+ main_~i~0 5))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8394#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:21,189 INFO L256 TraceCheckUtils]: 52: Hoare triple {8394#(<= ~N~0 (+ main_~i~0 5))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,189 INFO L273 TraceCheckUtils]: 53: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,189 INFO L273 TraceCheckUtils]: 54: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,190 INFO L273 TraceCheckUtils]: 55: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,191 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {8379#true} {8394#(<= ~N~0 (+ main_~i~0 5))} #60#return; {8394#(<= ~N~0 (+ main_~i~0 5))} is VALID [2018-11-14 18:50:21,191 INFO L273 TraceCheckUtils]: 57: Hoare triple {8394#(<= ~N~0 (+ main_~i~0 5))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8395#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:21,192 INFO L273 TraceCheckUtils]: 58: Hoare triple {8395#(<= ~N~0 (+ main_~i~0 4))} assume true; {8395#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:21,192 INFO L273 TraceCheckUtils]: 59: Hoare triple {8395#(<= ~N~0 (+ main_~i~0 4))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8395#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:21,193 INFO L256 TraceCheckUtils]: 60: Hoare triple {8395#(<= ~N~0 (+ main_~i~0 4))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,193 INFO L273 TraceCheckUtils]: 61: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,193 INFO L273 TraceCheckUtils]: 62: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,193 INFO L273 TraceCheckUtils]: 63: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,194 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {8379#true} {8395#(<= ~N~0 (+ main_~i~0 4))} #60#return; {8395#(<= ~N~0 (+ main_~i~0 4))} is VALID [2018-11-14 18:50:21,195 INFO L273 TraceCheckUtils]: 65: Hoare triple {8395#(<= ~N~0 (+ main_~i~0 4))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8396#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:21,196 INFO L273 TraceCheckUtils]: 66: Hoare triple {8396#(<= ~N~0 (+ main_~i~0 3))} assume true; {8396#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:21,196 INFO L273 TraceCheckUtils]: 67: Hoare triple {8396#(<= ~N~0 (+ main_~i~0 3))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8396#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:21,196 INFO L256 TraceCheckUtils]: 68: Hoare triple {8396#(<= ~N~0 (+ main_~i~0 3))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,197 INFO L273 TraceCheckUtils]: 69: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,197 INFO L273 TraceCheckUtils]: 70: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,197 INFO L273 TraceCheckUtils]: 71: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,198 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {8379#true} {8396#(<= ~N~0 (+ main_~i~0 3))} #60#return; {8396#(<= ~N~0 (+ main_~i~0 3))} is VALID [2018-11-14 18:50:21,199 INFO L273 TraceCheckUtils]: 73: Hoare triple {8396#(<= ~N~0 (+ main_~i~0 3))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8397#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:21,199 INFO L273 TraceCheckUtils]: 74: Hoare triple {8397#(<= ~N~0 (+ main_~i~0 2))} assume true; {8397#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:21,200 INFO L273 TraceCheckUtils]: 75: Hoare triple {8397#(<= ~N~0 (+ main_~i~0 2))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8397#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:21,200 INFO L256 TraceCheckUtils]: 76: Hoare triple {8397#(<= ~N~0 (+ main_~i~0 2))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,200 INFO L273 TraceCheckUtils]: 77: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,200 INFO L273 TraceCheckUtils]: 78: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,201 INFO L273 TraceCheckUtils]: 79: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,202 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {8379#true} {8397#(<= ~N~0 (+ main_~i~0 2))} #60#return; {8397#(<= ~N~0 (+ main_~i~0 2))} is VALID [2018-11-14 18:50:21,202 INFO L273 TraceCheckUtils]: 81: Hoare triple {8397#(<= ~N~0 (+ main_~i~0 2))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8398#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:21,202 INFO L273 TraceCheckUtils]: 82: Hoare triple {8398#(<= ~N~0 (+ main_~i~0 1))} assume true; {8398#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:21,203 INFO L273 TraceCheckUtils]: 83: Hoare triple {8398#(<= ~N~0 (+ main_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8398#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:21,203 INFO L256 TraceCheckUtils]: 84: Hoare triple {8398#(<= ~N~0 (+ main_~i~0 1))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8379#true} is VALID [2018-11-14 18:50:21,203 INFO L273 TraceCheckUtils]: 85: Hoare triple {8379#true} ~cond := #in~cond; {8379#true} is VALID [2018-11-14 18:50:21,203 INFO L273 TraceCheckUtils]: 86: Hoare triple {8379#true} assume !(~cond == 0); {8379#true} is VALID [2018-11-14 18:50:21,203 INFO L273 TraceCheckUtils]: 87: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,204 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {8379#true} {8398#(<= ~N~0 (+ main_~i~0 1))} #60#return; {8398#(<= ~N~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:50:21,204 INFO L273 TraceCheckUtils]: 89: Hoare triple {8398#(<= ~N~0 (+ main_~i~0 1))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8399#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:50:21,205 INFO L273 TraceCheckUtils]: 90: Hoare triple {8399#(<= ~N~0 main_~i~0)} assume true; {8399#(<= ~N~0 main_~i~0)} is VALID [2018-11-14 18:50:21,205 INFO L273 TraceCheckUtils]: 91: Hoare triple {8399#(<= ~N~0 main_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8380#false} is VALID [2018-11-14 18:50:21,205 INFO L256 TraceCheckUtils]: 92: Hoare triple {8380#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8380#false} is VALID [2018-11-14 18:50:21,206 INFO L273 TraceCheckUtils]: 93: Hoare triple {8380#false} ~cond := #in~cond; {8380#false} is VALID [2018-11-14 18:50:21,206 INFO L273 TraceCheckUtils]: 94: Hoare triple {8380#false} assume ~cond == 0; {8380#false} is VALID [2018-11-14 18:50:21,206 INFO L273 TraceCheckUtils]: 95: Hoare triple {8380#false} assume !false; {8380#false} is VALID [2018-11-14 18:50:21,213 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 122 proven. 102 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-14 18:50:21,213 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:21,213 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:50:21,224 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:50:21,321 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-14 18:50:21,322 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:21,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:21,340 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:21,727 INFO L256 TraceCheckUtils]: 0: Hoare triple {8379#true} call ULTIMATE.init(); {8379#true} is VALID [2018-11-14 18:50:21,727 INFO L273 TraceCheckUtils]: 1: Hoare triple {8379#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {8379#true} is VALID [2018-11-14 18:50:21,728 INFO L273 TraceCheckUtils]: 2: Hoare triple {8379#true} assume true; {8379#true} is VALID [2018-11-14 18:50:21,728 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8379#true} {8379#true} #56#return; {8379#true} is VALID [2018-11-14 18:50:21,728 INFO L256 TraceCheckUtils]: 4: Hoare triple {8379#true} call #t~ret2 := main(); {8379#true} is VALID [2018-11-14 18:50:21,728 INFO L273 TraceCheckUtils]: 5: Hoare triple {8379#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {8379#true} is VALID [2018-11-14 18:50:21,729 INFO L273 TraceCheckUtils]: 6: Hoare triple {8379#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {8421#(<= main_~i~0 0)} is VALID [2018-11-14 18:50:21,729 INFO L273 TraceCheckUtils]: 7: Hoare triple {8421#(<= main_~i~0 0)} assume true; {8421#(<= main_~i~0 0)} is VALID [2018-11-14 18:50:21,730 INFO L273 TraceCheckUtils]: 8: Hoare triple {8421#(<= main_~i~0 0)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8382#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:21,730 INFO L273 TraceCheckUtils]: 9: Hoare triple {8382#(<= main_~i~0 1)} assume true; {8382#(<= main_~i~0 1)} is VALID [2018-11-14 18:50:21,731 INFO L273 TraceCheckUtils]: 10: Hoare triple {8382#(<= main_~i~0 1)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8383#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:21,731 INFO L273 TraceCheckUtils]: 11: Hoare triple {8383#(<= main_~i~0 2)} assume true; {8383#(<= main_~i~0 2)} is VALID [2018-11-14 18:50:21,732 INFO L273 TraceCheckUtils]: 12: Hoare triple {8383#(<= main_~i~0 2)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8384#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:21,733 INFO L273 TraceCheckUtils]: 13: Hoare triple {8384#(<= main_~i~0 3)} assume true; {8384#(<= main_~i~0 3)} is VALID [2018-11-14 18:50:21,734 INFO L273 TraceCheckUtils]: 14: Hoare triple {8384#(<= main_~i~0 3)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8385#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:21,734 INFO L273 TraceCheckUtils]: 15: Hoare triple {8385#(<= main_~i~0 4)} assume true; {8385#(<= main_~i~0 4)} is VALID [2018-11-14 18:50:21,735 INFO L273 TraceCheckUtils]: 16: Hoare triple {8385#(<= main_~i~0 4)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8386#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:21,736 INFO L273 TraceCheckUtils]: 17: Hoare triple {8386#(<= main_~i~0 5)} assume true; {8386#(<= main_~i~0 5)} is VALID [2018-11-14 18:50:21,737 INFO L273 TraceCheckUtils]: 18: Hoare triple {8386#(<= main_~i~0 5)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8387#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:21,737 INFO L273 TraceCheckUtils]: 19: Hoare triple {8387#(<= main_~i~0 6)} assume true; {8387#(<= main_~i~0 6)} is VALID [2018-11-14 18:50:21,738 INFO L273 TraceCheckUtils]: 20: Hoare triple {8387#(<= main_~i~0 6)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8388#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:21,739 INFO L273 TraceCheckUtils]: 21: Hoare triple {8388#(<= main_~i~0 7)} assume true; {8388#(<= main_~i~0 7)} is VALID [2018-11-14 18:50:21,740 INFO L273 TraceCheckUtils]: 22: Hoare triple {8388#(<= main_~i~0 7)} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {8389#(<= main_~i~0 8)} is VALID [2018-11-14 18:50:21,740 INFO L273 TraceCheckUtils]: 23: Hoare triple {8389#(<= main_~i~0 8)} assume true; {8389#(<= main_~i~0 8)} is VALID [2018-11-14 18:50:21,741 INFO L273 TraceCheckUtils]: 24: Hoare triple {8389#(<= main_~i~0 8)} assume !(~i~0 < ~N~0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,742 INFO L273 TraceCheckUtils]: 25: Hoare triple {8390#(<= ~N~0 8)} ~i~0 := 0; {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,742 INFO L273 TraceCheckUtils]: 26: Hoare triple {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} assume true; {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,743 INFO L273 TraceCheckUtils]: 27: Hoare triple {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,744 INFO L256 TraceCheckUtils]: 28: Hoare triple {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,745 INFO L273 TraceCheckUtils]: 29: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,745 INFO L273 TraceCheckUtils]: 30: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,746 INFO L273 TraceCheckUtils]: 31: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,747 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {8390#(<= ~N~0 8)} {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} #60#return; {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,748 INFO L273 TraceCheckUtils]: 33: Hoare triple {8479#(and (<= 0 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,748 INFO L273 TraceCheckUtils]: 34: Hoare triple {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} assume true; {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,749 INFO L273 TraceCheckUtils]: 35: Hoare triple {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,750 INFO L256 TraceCheckUtils]: 36: Hoare triple {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,751 INFO L273 TraceCheckUtils]: 37: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,751 INFO L273 TraceCheckUtils]: 38: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,752 INFO L273 TraceCheckUtils]: 39: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,753 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {8390#(<= ~N~0 8)} {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} #60#return; {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,754 INFO L273 TraceCheckUtils]: 41: Hoare triple {8504#(and (<= 1 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,754 INFO L273 TraceCheckUtils]: 42: Hoare triple {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} assume true; {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,755 INFO L273 TraceCheckUtils]: 43: Hoare triple {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,756 INFO L256 TraceCheckUtils]: 44: Hoare triple {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,757 INFO L273 TraceCheckUtils]: 45: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,757 INFO L273 TraceCheckUtils]: 46: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,758 INFO L273 TraceCheckUtils]: 47: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,759 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {8390#(<= ~N~0 8)} {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} #60#return; {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,759 INFO L273 TraceCheckUtils]: 49: Hoare triple {8529#(and (<= 2 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-14 18:50:21,760 INFO L273 TraceCheckUtils]: 50: Hoare triple {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} assume true; {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-14 18:50:21,761 INFO L273 TraceCheckUtils]: 51: Hoare triple {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-14 18:50:21,762 INFO L256 TraceCheckUtils]: 52: Hoare triple {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,763 INFO L273 TraceCheckUtils]: 53: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,763 INFO L273 TraceCheckUtils]: 54: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,764 INFO L273 TraceCheckUtils]: 55: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,765 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {8390#(<= ~N~0 8)} {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} #60#return; {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} is VALID [2018-11-14 18:50:21,765 INFO L273 TraceCheckUtils]: 57: Hoare triple {8554#(and (<= ~N~0 8) (<= 3 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-14 18:50:21,766 INFO L273 TraceCheckUtils]: 58: Hoare triple {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} assume true; {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-14 18:50:21,767 INFO L273 TraceCheckUtils]: 59: Hoare triple {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-14 18:50:21,768 INFO L256 TraceCheckUtils]: 60: Hoare triple {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,769 INFO L273 TraceCheckUtils]: 61: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,769 INFO L273 TraceCheckUtils]: 62: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,770 INFO L273 TraceCheckUtils]: 63: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,771 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {8390#(<= ~N~0 8)} {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} #60#return; {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} is VALID [2018-11-14 18:50:21,771 INFO L273 TraceCheckUtils]: 65: Hoare triple {8579#(and (<= ~N~0 8) (<= 4 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-14 18:50:21,772 INFO L273 TraceCheckUtils]: 66: Hoare triple {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} assume true; {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-14 18:50:21,773 INFO L273 TraceCheckUtils]: 67: Hoare triple {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-14 18:50:21,774 INFO L256 TraceCheckUtils]: 68: Hoare triple {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,775 INFO L273 TraceCheckUtils]: 69: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,775 INFO L273 TraceCheckUtils]: 70: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,776 INFO L273 TraceCheckUtils]: 71: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,777 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {8390#(<= ~N~0 8)} {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} #60#return; {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} is VALID [2018-11-14 18:50:21,778 INFO L273 TraceCheckUtils]: 73: Hoare triple {8604#(and (<= ~N~0 8) (<= 5 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-14 18:50:21,778 INFO L273 TraceCheckUtils]: 74: Hoare triple {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} assume true; {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-14 18:50:21,779 INFO L273 TraceCheckUtils]: 75: Hoare triple {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-14 18:50:21,780 INFO L256 TraceCheckUtils]: 76: Hoare triple {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,781 INFO L273 TraceCheckUtils]: 77: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,781 INFO L273 TraceCheckUtils]: 78: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,782 INFO L273 TraceCheckUtils]: 79: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,783 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {8390#(<= ~N~0 8)} {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} #60#return; {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} is VALID [2018-11-14 18:50:21,784 INFO L273 TraceCheckUtils]: 81: Hoare triple {8629#(and (<= ~N~0 8) (<= 6 main_~i~0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,784 INFO L273 TraceCheckUtils]: 82: Hoare triple {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} assume true; {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,785 INFO L273 TraceCheckUtils]: 83: Hoare triple {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,787 INFO L256 TraceCheckUtils]: 84: Hoare triple {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,787 INFO L273 TraceCheckUtils]: 85: Hoare triple {8390#(<= ~N~0 8)} ~cond := #in~cond; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,788 INFO L273 TraceCheckUtils]: 86: Hoare triple {8390#(<= ~N~0 8)} assume !(~cond == 0); {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,788 INFO L273 TraceCheckUtils]: 87: Hoare triple {8390#(<= ~N~0 8)} assume true; {8390#(<= ~N~0 8)} is VALID [2018-11-14 18:50:21,789 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {8390#(<= ~N~0 8)} {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} #60#return; {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} is VALID [2018-11-14 18:50:21,790 INFO L273 TraceCheckUtils]: 89: Hoare triple {8654#(and (<= 7 main_~i~0) (<= ~N~0 8))} havoc #t~mem1;~i~0 := ~i~0 + 1; {8679#(and (<= ~N~0 8) (<= 8 main_~i~0))} is VALID [2018-11-14 18:50:21,791 INFO L273 TraceCheckUtils]: 90: Hoare triple {8679#(and (<= ~N~0 8) (<= 8 main_~i~0))} assume true; {8679#(and (<= ~N~0 8) (<= 8 main_~i~0))} is VALID [2018-11-14 18:50:21,791 INFO L273 TraceCheckUtils]: 91: Hoare triple {8679#(and (<= ~N~0 8) (<= 8 main_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {8380#false} is VALID [2018-11-14 18:50:21,792 INFO L256 TraceCheckUtils]: 92: Hoare triple {8380#false} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {8380#false} is VALID [2018-11-14 18:50:21,792 INFO L273 TraceCheckUtils]: 93: Hoare triple {8380#false} ~cond := #in~cond; {8380#false} is VALID [2018-11-14 18:50:21,792 INFO L273 TraceCheckUtils]: 94: Hoare triple {8380#false} assume ~cond == 0; {8380#false} is VALID [2018-11-14 18:50:21,792 INFO L273 TraceCheckUtils]: 95: Hoare triple {8380#false} assume !false; {8380#false} is VALID [2018-11-14 18:50:21,801 INFO L134 CoverageAnalysis]: Checked inductivity of 336 backedges. 152 proven. 72 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2018-11-14 18:50:21,821 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:21,822 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 31 [2018-11-14 18:50:21,822 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 96 [2018-11-14 18:50:21,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:21,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2018-11-14 18:50:21,940 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:21,941 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2018-11-14 18:50:21,941 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2018-11-14 18:50:21,941 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=225, Invalid=705, Unknown=0, NotChecked=0, Total=930 [2018-11-14 18:50:21,942 INFO L87 Difference]: Start difference. First operand 99 states and 100 transitions. Second operand 31 states. [2018-11-14 18:50:23,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:23,929 INFO L93 Difference]: Finished difference Result 183 states and 186 transitions. [2018-11-14 18:50:23,929 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-14 18:50:23,929 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 96 [2018-11-14 18:50:23,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:23,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:50:23,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 141 transitions. [2018-11-14 18:50:23,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:50:23,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 141 transitions. [2018-11-14 18:50:23,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 141 transitions. [2018-11-14 18:50:24,167 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:24,168 INFO L225 Difference]: With dead ends: 183 [2018-11-14 18:50:24,168 INFO L226 Difference]: Without dead ends: 106 [2018-11-14 18:50:24,169 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 363 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=378, Invalid=1182, Unknown=0, NotChecked=0, Total=1560 [2018-11-14 18:50:24,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-14 18:50:24,730 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 101. [2018-11-14 18:50:24,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:24,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 101 states. [2018-11-14 18:50:24,731 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 101 states. [2018-11-14 18:50:24,732 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 101 states. [2018-11-14 18:50:24,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:24,735 INFO L93 Difference]: Finished difference Result 106 states and 108 transitions. [2018-11-14 18:50:24,735 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 108 transitions. [2018-11-14 18:50:24,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:24,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:24,735 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 106 states. [2018-11-14 18:50:24,736 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 106 states. [2018-11-14 18:50:24,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:24,738 INFO L93 Difference]: Finished difference Result 106 states and 108 transitions. [2018-11-14 18:50:24,738 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 108 transitions. [2018-11-14 18:50:24,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:24,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:24,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:24,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:24,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-11-14 18:50:24,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 102 transitions. [2018-11-14 18:50:24,741 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 102 transitions. Word has length 96 [2018-11-14 18:50:24,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:24,741 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 102 transitions. [2018-11-14 18:50:24,741 INFO L481 AbstractCegarLoop]: Interpolant automaton has 31 states. [2018-11-14 18:50:24,741 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 102 transitions. [2018-11-14 18:50:24,742 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2018-11-14 18:50:24,742 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:24,742 INFO L375 BasicCegarLoop]: trace histogram [10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:24,743 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:24,743 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:24,743 INFO L82 PathProgramCache]: Analyzing trace with hash 16778802, now seen corresponding path program 16 times [2018-11-14 18:50:24,743 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:24,743 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:24,744 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:24,744 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:24,744 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:24,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:25,441 WARN L179 SmtUtils]: Spent 196.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 8 [2018-11-14 18:50:26,723 INFO L256 TraceCheckUtils]: 0: Hoare triple {9323#true} call ULTIMATE.init(); {9323#true} is VALID [2018-11-14 18:50:26,723 INFO L273 TraceCheckUtils]: 1: Hoare triple {9323#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {9323#true} is VALID [2018-11-14 18:50:26,723 INFO L273 TraceCheckUtils]: 2: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,724 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9323#true} {9323#true} #56#return; {9323#true} is VALID [2018-11-14 18:50:26,724 INFO L256 TraceCheckUtils]: 4: Hoare triple {9323#true} call #t~ret2 := main(); {9323#true} is VALID [2018-11-14 18:50:26,724 INFO L273 TraceCheckUtils]: 5: Hoare triple {9323#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~N~0 := #t~nondet0;havoc #t~nondet0; {9323#true} is VALID [2018-11-14 18:50:26,725 INFO L273 TraceCheckUtils]: 6: Hoare triple {9323#true} assume ~N~0 > 0;havoc ~i~0;havoc ~k~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~N~0 * 4);~i~0 := 0;~k~0 := 0; {9325#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,725 INFO L273 TraceCheckUtils]: 7: Hoare triple {9325#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume true; {9325#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,726 INFO L273 TraceCheckUtils]: 8: Hoare triple {9325#(and (= main_~k~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9326#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:50:26,727 INFO L273 TraceCheckUtils]: 9: Hoare triple {9326#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume true; {9326#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} is VALID [2018-11-14 18:50:26,728 INFO L273 TraceCheckUtils]: 10: Hoare triple {9326#(and (<= main_~k~0 1) (= |main_~#a~0.offset| 0) (<= 1 main_~k~0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9327#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,729 INFO L273 TraceCheckUtils]: 11: Hoare triple {9327#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume true; {9327#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,730 INFO L273 TraceCheckUtils]: 12: Hoare triple {9327#(and (<= 2 main_~k~0) (<= main_~k~0 2) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9328#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,731 INFO L273 TraceCheckUtils]: 13: Hoare triple {9328#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume true; {9328#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,732 INFO L273 TraceCheckUtils]: 14: Hoare triple {9328#(and (= main_~k~0 3) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9329#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,732 INFO L273 TraceCheckUtils]: 15: Hoare triple {9329#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume true; {9329#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,733 INFO L273 TraceCheckUtils]: 16: Hoare triple {9329#(and (<= main_~k~0 4) (<= 4 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9330#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,734 INFO L273 TraceCheckUtils]: 17: Hoare triple {9330#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume true; {9330#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,735 INFO L273 TraceCheckUtils]: 18: Hoare triple {9330#(and (= main_~k~0 5) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9331#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,735 INFO L273 TraceCheckUtils]: 19: Hoare triple {9331#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume true; {9331#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,736 INFO L273 TraceCheckUtils]: 20: Hoare triple {9331#(and (= main_~k~0 6) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9332#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,737 INFO L273 TraceCheckUtils]: 21: Hoare triple {9332#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume true; {9332#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,738 INFO L273 TraceCheckUtils]: 22: Hoare triple {9332#(and (= main_~k~0 7) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9333#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,739 INFO L273 TraceCheckUtils]: 23: Hoare triple {9333#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} assume true; {9333#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,740 INFO L273 TraceCheckUtils]: 24: Hoare triple {9333#(and (<= main_~k~0 8) (<= 8 main_~k~0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call write~int(~k~0, ~#a~0.base, ~#a~0.offset + ~k~0 * 4, 4);~i~0 := ~i~0 + 1;~k~0 := ~k~0 + 1; {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,741 INFO L273 TraceCheckUtils]: 25: Hoare triple {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} assume true; {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,741 INFO L273 TraceCheckUtils]: 26: Hoare triple {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~N~0); {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,742 INFO L273 TraceCheckUtils]: 27: Hoare triple {9334#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,743 INFO L273 TraceCheckUtils]: 28: Hoare triple {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,744 INFO L273 TraceCheckUtils]: 29: Hoare triple {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,744 INFO L256 TraceCheckUtils]: 30: Hoare triple {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,745 INFO L273 TraceCheckUtils]: 31: Hoare triple {9323#true} ~cond := #in~cond; {9336#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-14 18:50:26,745 INFO L273 TraceCheckUtils]: 32: Hoare triple {9336#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(~cond == 0); {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:26,746 INFO L273 TraceCheckUtils]: 33: Hoare triple {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:26,747 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #60#return; {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,748 INFO L273 TraceCheckUtils]: 35: Hoare triple {9335#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 8))) (+ |main_~#a~0.offset| 8)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,748 INFO L273 TraceCheckUtils]: 36: Hoare triple {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} assume true; {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,749 INFO L273 TraceCheckUtils]: 37: Hoare triple {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,750 INFO L256 TraceCheckUtils]: 38: Hoare triple {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,750 INFO L273 TraceCheckUtils]: 39: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,750 INFO L273 TraceCheckUtils]: 40: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,750 INFO L273 TraceCheckUtils]: 41: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,751 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {9323#true} {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} #60#return; {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,752 INFO L273 TraceCheckUtils]: 43: Hoare triple {9338#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 7)))) (+ main_~i~0 |main_~#a~0.offset| 7)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,753 INFO L273 TraceCheckUtils]: 44: Hoare triple {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} assume true; {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,754 INFO L273 TraceCheckUtils]: 45: Hoare triple {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,755 INFO L256 TraceCheckUtils]: 46: Hoare triple {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,755 INFO L273 TraceCheckUtils]: 47: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,755 INFO L273 TraceCheckUtils]: 48: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,755 INFO L273 TraceCheckUtils]: 49: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,756 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {9323#true} {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} #60#return; {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,757 INFO L273 TraceCheckUtils]: 51: Hoare triple {9339#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 6)))) (+ main_~i~0 |main_~#a~0.offset| 6)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,757 INFO L273 TraceCheckUtils]: 52: Hoare triple {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} assume true; {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,758 INFO L273 TraceCheckUtils]: 53: Hoare triple {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,758 INFO L256 TraceCheckUtils]: 54: Hoare triple {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,758 INFO L273 TraceCheckUtils]: 55: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,758 INFO L273 TraceCheckUtils]: 56: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,758 INFO L273 TraceCheckUtils]: 57: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,759 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {9323#true} {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} #60#return; {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,760 INFO L273 TraceCheckUtils]: 59: Hoare triple {9340#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 5)))) (+ main_~i~0 |main_~#a~0.offset| 5)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,761 INFO L273 TraceCheckUtils]: 60: Hoare triple {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume true; {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,762 INFO L273 TraceCheckUtils]: 61: Hoare triple {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,762 INFO L256 TraceCheckUtils]: 62: Hoare triple {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,762 INFO L273 TraceCheckUtils]: 63: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,762 INFO L273 TraceCheckUtils]: 64: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,762 INFO L273 TraceCheckUtils]: 65: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,763 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {9323#true} {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} #60#return; {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,765 INFO L273 TraceCheckUtils]: 67: Hoare triple {9341#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 4)))) (+ main_~i~0 |main_~#a~0.offset| 4)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,765 INFO L273 TraceCheckUtils]: 68: Hoare triple {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume true; {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,766 INFO L273 TraceCheckUtils]: 69: Hoare triple {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,766 INFO L256 TraceCheckUtils]: 70: Hoare triple {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,766 INFO L273 TraceCheckUtils]: 71: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,766 INFO L273 TraceCheckUtils]: 72: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,766 INFO L273 TraceCheckUtils]: 73: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,767 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {9323#true} {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} #60#return; {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,768 INFO L273 TraceCheckUtils]: 75: Hoare triple {9342#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 3)))) (+ main_~i~0 |main_~#a~0.offset| 3)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,769 INFO L273 TraceCheckUtils]: 76: Hoare triple {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume true; {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,769 INFO L273 TraceCheckUtils]: 77: Hoare triple {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,770 INFO L256 TraceCheckUtils]: 78: Hoare triple {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,770 INFO L273 TraceCheckUtils]: 79: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,770 INFO L273 TraceCheckUtils]: 80: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,770 INFO L273 TraceCheckUtils]: 81: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,771 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {9323#true} {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} #60#return; {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,772 INFO L273 TraceCheckUtils]: 83: Hoare triple {9343#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 2)))) (+ main_~i~0 |main_~#a~0.offset| 2)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,772 INFO L273 TraceCheckUtils]: 84: Hoare triple {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume true; {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,773 INFO L273 TraceCheckUtils]: 85: Hoare triple {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,773 INFO L256 TraceCheckUtils]: 86: Hoare triple {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9323#true} is VALID [2018-11-14 18:50:26,773 INFO L273 TraceCheckUtils]: 87: Hoare triple {9323#true} ~cond := #in~cond; {9323#true} is VALID [2018-11-14 18:50:26,773 INFO L273 TraceCheckUtils]: 88: Hoare triple {9323#true} assume !(~cond == 0); {9323#true} is VALID [2018-11-14 18:50:26,773 INFO L273 TraceCheckUtils]: 89: Hoare triple {9323#true} assume true; {9323#true} is VALID [2018-11-14 18:50:26,774 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {9323#true} {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} #60#return; {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,775 INFO L273 TraceCheckUtils]: 91: Hoare triple {9344#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 (+ main_~i~0 1)))) (+ main_~i~0 |main_~#a~0.offset| 1)) (= |main_~#a~0.offset| 0))} havoc #t~mem1;~i~0 := ~i~0 + 1; {9345#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,775 INFO L273 TraceCheckUtils]: 92: Hoare triple {9345#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume true; {9345#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:50:26,776 INFO L273 TraceCheckUtils]: 93: Hoare triple {9345#(and (= main_~i~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {9346#(= main_~i~0 |main_#t~mem1|)} is VALID [2018-11-14 18:50:26,777 INFO L256 TraceCheckUtils]: 94: Hoare triple {9346#(= main_~i~0 |main_#t~mem1|)} call __VERIFIER_assert((if #t~mem1 == ~i~0 then 1 else 0)); {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:50:26,777 INFO L273 TraceCheckUtils]: 95: Hoare triple {9337#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9347#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:50:26,778 INFO L273 TraceCheckUtils]: 96: Hoare triple {9347#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {9324#false} is VALID [2018-11-14 18:50:26,778 INFO L273 TraceCheckUtils]: 97: Hoare triple {9324#false} assume !false; {9324#false} is VALID [2018-11-14 18:50:26,797 INFO L134 CoverageAnalysis]: Checked inductivity of 354 backedges. 15 proven. 248 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2018-11-14 18:50:26,798 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:26,798 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:50:26,806 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:50:26,843 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:50:26,843 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:26,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:26,868 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:26,976 INFO L477 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-14 18:50:26,981 INFO L477 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-14 18:50:26,983 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:50:26,986 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:50:26,998 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 18:50:26,998 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:21 [2018-11-14 18:50:27,002 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN.