java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/pnr5_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:20:06,270 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:20:06,272 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:20:06,284 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:20:06,284 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:20:06,285 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:20:06,287 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:20:06,289 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:20:06,291 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:20:06,292 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:20:06,293 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:20:06,293 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:20:06,294 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:20:06,299 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:20:06,300 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:20:06,301 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:20:06,302 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:20:06,304 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:20:06,306 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:20:06,308 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:20:06,309 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:20:06,311 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:20:06,314 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:20:06,314 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:20:06,314 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:20:06,315 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:20:06,317 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:20:06,318 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:20:06,319 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:20:06,320 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:20:06,320 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:20:06,321 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:20:06,321 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:20:06,322 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:20:06,323 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:20:06,324 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:20:06,324 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:20:06,341 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:20:06,341 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:20:06,342 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:20:06,342 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:20:06,343 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:20:06,343 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:20:06,343 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:20:06,344 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:20:06,344 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:20:06,344 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:20:06,344 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:20:06,344 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:20:06,345 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:20:06,345 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:20:06,345 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:20:06,345 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:20:06,345 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:20:06,346 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:20:06,346 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:20:06,346 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:20:06,346 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:20:06,347 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:20:06,347 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:20:06,347 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:20:06,347 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:20:06,347 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:20:06,348 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:20:06,348 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:20:06,348 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:20:06,348 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:20:06,348 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:20:06,414 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:20:06,430 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:20:06,435 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:20:06,437 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:20:06,437 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:20:06,438 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pnr5_true-unreach-call.i [2018-11-23 12:20:06,507 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7c2c5915/e24c637467d6450ebe144b62dc127067/FLAG4748b5d6d [2018-11-23 12:20:07,000 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:20:07,001 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pnr5_true-unreach-call.i [2018-11-23 12:20:07,012 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7c2c5915/e24c637467d6450ebe144b62dc127067/FLAG4748b5d6d [2018-11-23 12:20:07,347 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c7c2c5915/e24c637467d6450ebe144b62dc127067 [2018-11-23 12:20:07,360 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:20:07,362 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:20:07,363 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:07,363 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:20:07,370 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:20:07,372 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,375 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d21da5e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07, skipping insertion in model container [2018-11-23 12:20:07,375 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,386 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:20:07,418 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:20:07,634 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:07,641 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:20:07,673 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:20:07,697 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:20:07,698 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07 WrapperNode [2018-11-23 12:20:07,698 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:20:07,699 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:07,699 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:20:07,700 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:20:07,710 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,722 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,730 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:20:07,731 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:20:07,731 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:20:07,731 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:20:07,742 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,743 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,745 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,746 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,759 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,767 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,769 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... [2018-11-23 12:20:07,771 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:20:07,772 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:20:07,772 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:20:07,772 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:20:07,773 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:20:07,908 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:20:07,908 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:20:07,908 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:20:07,908 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:20:07,908 INFO L130 BoogieDeclarations]: Found specification of procedure ReadFromPort [2018-11-23 12:20:07,909 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:20:07,909 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:20:07,909 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:20:07,909 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:20:07,909 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:20:07,909 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:20:07,910 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:20:07,910 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:20:08,865 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:20:08,865 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:20:08,865 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:08 BoogieIcfgContainer [2018-11-23 12:20:08,865 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:20:08,866 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:20:08,866 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:20:08,869 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:20:08,870 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:20:07" (1/3) ... [2018-11-23 12:20:08,871 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6bcf4bd8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:08, skipping insertion in model container [2018-11-23 12:20:08,871 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:20:07" (2/3) ... [2018-11-23 12:20:08,871 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6bcf4bd8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:20:08, skipping insertion in model container [2018-11-23 12:20:08,872 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:20:08" (3/3) ... [2018-11-23 12:20:08,873 INFO L112 eAbstractionObserver]: Analyzing ICFG pnr5_true-unreach-call.i [2018-11-23 12:20:08,884 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:20:08,894 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:20:08,909 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:20:08,942 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:20:08,943 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:20:08,943 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:20:08,943 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:20:08,943 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:20:08,944 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:20:08,944 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:20:08,944 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:20:08,944 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:20:08,964 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-23 12:20:08,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 12:20:08,971 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:08,972 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:08,974 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:08,980 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:08,980 INFO L82 PathProgramCache]: Analyzing trace with hash -112349599, now seen corresponding path program 1 times [2018-11-23 12:20:08,982 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:08,983 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:09,034 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:09,034 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:09,034 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:09,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:09,392 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-23 12:20:09,395 INFO L273 TraceCheckUtils]: 1: Hoare triple {39#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {39#true} is VALID [2018-11-23 12:20:09,396 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-23 12:20:09,396 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #93#return; {39#true} is VALID [2018-11-23 12:20:09,397 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret10 := main(); {39#true} is VALID [2018-11-23 12:20:09,397 INFO L273 TraceCheckUtils]: 5: Hoare triple {39#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {39#true} is VALID [2018-11-23 12:20:09,411 INFO L273 TraceCheckUtils]: 6: Hoare triple {39#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {41#(<= 2 ~SIZE~0)} is VALID [2018-11-23 12:20:09,424 INFO L273 TraceCheckUtils]: 7: Hoare triple {41#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {42#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:09,436 INFO L273 TraceCheckUtils]: 8: Hoare triple {42#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {40#false} is VALID [2018-11-23 12:20:09,436 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-23 12:20:09,437 INFO L273 TraceCheckUtils]: 10: Hoare triple {40#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {40#false} is VALID [2018-11-23 12:20:09,437 INFO L256 TraceCheckUtils]: 11: Hoare triple {40#false} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {40#false} is VALID [2018-11-23 12:20:09,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2018-11-23 12:20:09,438 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} assume 0 == ~cond; {40#false} is VALID [2018-11-23 12:20:09,438 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-23 12:20:09,441 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:09,444 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:20:09,444 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:20:09,448 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 15 [2018-11-23 12:20:09,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:09,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:20:09,660 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-23 12:20:09,660 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:20:09,671 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:20:09,672 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:09,675 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 4 states. [2018-11-23 12:20:10,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:10,840 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2018-11-23 12:20:10,840 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:20:10,840 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 15 [2018-11-23 12:20:10,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:10,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:10,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2018-11-23 12:20:10,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:20:10,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 89 transitions. [2018-11-23 12:20:10,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 89 transitions. [2018-11-23 12:20:11,052 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:11,065 INFO L225 Difference]: With dead ends: 69 [2018-11-23 12:20:11,065 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 12:20:11,069 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:20:11,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 12:20:11,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 31. [2018-11-23 12:20:11,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:11,126 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 31 states. [2018-11-23 12:20:11,126 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 31 states. [2018-11-23 12:20:11,127 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 31 states. [2018-11-23 12:20:11,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:11,133 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2018-11-23 12:20:11,133 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2018-11-23 12:20:11,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:11,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:11,134 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 41 states. [2018-11-23 12:20:11,135 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 41 states. [2018-11-23 12:20:11,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:11,141 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2018-11-23 12:20:11,141 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2018-11-23 12:20:11,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:11,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:11,142 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:11,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:11,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:20:11,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2018-11-23 12:20:11,148 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 37 transitions. Word has length 15 [2018-11-23 12:20:11,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:11,148 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 37 transitions. [2018-11-23 12:20:11,148 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:20:11,149 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 37 transitions. [2018-11-23 12:20:11,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 12:20:11,150 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:11,150 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:11,150 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:11,151 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:11,151 INFO L82 PathProgramCache]: Analyzing trace with hash 230035635, now seen corresponding path program 1 times [2018-11-23 12:20:11,151 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:11,151 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:11,153 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:11,153 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:11,153 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:11,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:12,547 INFO L256 TraceCheckUtils]: 0: Hoare triple {248#true} call ULTIMATE.init(); {248#true} is VALID [2018-11-23 12:20:12,547 INFO L273 TraceCheckUtils]: 1: Hoare triple {248#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {248#true} is VALID [2018-11-23 12:20:12,548 INFO L273 TraceCheckUtils]: 2: Hoare triple {248#true} assume true; {248#true} is VALID [2018-11-23 12:20:12,548 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {248#true} {248#true} #93#return; {248#true} is VALID [2018-11-23 12:20:12,548 INFO L256 TraceCheckUtils]: 4: Hoare triple {248#true} call #t~ret10 := main(); {248#true} is VALID [2018-11-23 12:20:12,549 INFO L273 TraceCheckUtils]: 5: Hoare triple {248#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {248#true} is VALID [2018-11-23 12:20:12,555 INFO L273 TraceCheckUtils]: 6: Hoare triple {248#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {250#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,564 INFO L273 TraceCheckUtils]: 7: Hoare triple {250#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {251#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,577 INFO L273 TraceCheckUtils]: 8: Hoare triple {251#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {251#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,591 INFO L273 TraceCheckUtils]: 9: Hoare triple {251#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,592 INFO L273 TraceCheckUtils]: 10: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,594 INFO L273 TraceCheckUtils]: 11: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,596 INFO L273 TraceCheckUtils]: 12: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,597 INFO L273 TraceCheckUtils]: 13: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,598 INFO L273 TraceCheckUtils]: 14: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,599 INFO L273 TraceCheckUtils]: 15: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,601 INFO L273 TraceCheckUtils]: 16: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,603 INFO L273 TraceCheckUtils]: 17: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,605 INFO L273 TraceCheckUtils]: 18: Hoare triple {252#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {253#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 39))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,616 INFO L273 TraceCheckUtils]: 19: Hoare triple {253#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 39))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:12,617 INFO L273 TraceCheckUtils]: 20: Hoare triple {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {255#(and (not (= main_~DEFAULTVAL~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-23 12:20:12,619 INFO L273 TraceCheckUtils]: 21: Hoare triple {255#(and (not (= main_~DEFAULTVAL~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 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {256#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 12:20:12,630 INFO L256 TraceCheckUtils]: 22: Hoare triple {256#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {257#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:20:12,643 INFO L273 TraceCheckUtils]: 23: Hoare triple {257#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {258#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:20:12,655 INFO L273 TraceCheckUtils]: 24: Hoare triple {258#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {249#false} is VALID [2018-11-23 12:20:12,655 INFO L273 TraceCheckUtils]: 25: Hoare triple {249#false} assume !false; {249#false} is VALID [2018-11-23 12:20:12,665 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:12,665 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:12,666 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-23 12:20:12,682 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:12,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:12,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:12,738 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:12,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:20:13,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:20:13,017 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,056 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,089 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,090 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-23 12:20:13,093 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,094 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, main_~value~0]. (and (not (= main_~value~0 main_~DEFAULTVAL~0)) (= (store |v_#memory_int_24| |main_~#a~0.base| (store (select |v_#memory_int_24| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)) main_~value~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,094 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-23 12:20:13,232 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:13,236 INFO L478 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 40 [2018-11-23 12:20:13,240 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,256 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,271 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,272 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-23 12:20:13,280 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,281 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_25|, main_~FIXEDVAL~0]. (let ((.cse0 (select |v_#memory_int_25| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= (store |v_#memory_int_25| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0)) |#memory_int|) (= main_~i~0 1) (not (= (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:13,281 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-23 12:20:13,334 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:13,337 INFO L478 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 40 [2018-11-23 12:20:13,345 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,353 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,364 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,364 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-23 12:20:13,369 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,370 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_26|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_26| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (not (= (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))) main_~DEFAULTVAL~0)) (= (store |v_#memory_int_26| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 12)) main_~value~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:13,370 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-23 12:20:13,442 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:13,444 INFO L478 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 40 [2018-11-23 12:20:13,448 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,459 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,470 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,471 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-23 12:20:13,475 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,475 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_27| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_27| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0))) (not (= main_~DEFAULTVAL~0 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))))) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:13,475 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 17 [2018-11-23 12:20:13,507 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:13,509 INFO L478 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 17 treesize of output 24 [2018-11-23 12:20:13,518 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,527 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,534 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,534 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:12 [2018-11-23 12:20:13,537 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,538 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_28| |main_~#a~0.base|))) (and (not (= (select .cse0 |main_~#a~0.offset|) main_~DEFAULTVAL~0)) (= (store |v_#memory_int_28| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:13,538 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:13,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-23 12:20:13,664 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-23 12:20:13,667 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,669 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,674 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:13,675 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-23 12:20:13,676 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:13,676 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (and (= .cse0 |main_#t~mem9|) (not (= .cse0 main_~DEFAULTVAL~0)))) [2018-11-23 12:20:13,677 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) [2018-11-23 12:20:13,906 INFO L256 TraceCheckUtils]: 0: Hoare triple {248#true} call ULTIMATE.init(); {248#true} is VALID [2018-11-23 12:20:13,906 INFO L273 TraceCheckUtils]: 1: Hoare triple {248#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {248#true} is VALID [2018-11-23 12:20:13,907 INFO L273 TraceCheckUtils]: 2: Hoare triple {248#true} assume true; {248#true} is VALID [2018-11-23 12:20:13,907 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {248#true} {248#true} #93#return; {248#true} is VALID [2018-11-23 12:20:13,908 INFO L256 TraceCheckUtils]: 4: Hoare triple {248#true} call #t~ret10 := main(); {248#true} is VALID [2018-11-23 12:20:13,908 INFO L273 TraceCheckUtils]: 5: Hoare triple {248#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {248#true} is VALID [2018-11-23 12:20:13,909 INFO L273 TraceCheckUtils]: 6: Hoare triple {248#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {280#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:20:13,910 INFO L273 TraceCheckUtils]: 7: Hoare triple {280#(= |main_~#a~0.offset| 0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {284#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {284#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {284#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,911 INFO L273 TraceCheckUtils]: 9: Hoare triple {284#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,916 INFO L273 TraceCheckUtils]: 10: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,918 INFO L273 TraceCheckUtils]: 11: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,919 INFO L273 TraceCheckUtils]: 12: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,920 INFO L273 TraceCheckUtils]: 13: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,921 INFO L273 TraceCheckUtils]: 14: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,922 INFO L273 TraceCheckUtils]: 15: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,923 INFO L273 TraceCheckUtils]: 16: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,925 INFO L273 TraceCheckUtils]: 17: Hoare triple {291#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,926 INFO L273 TraceCheckUtils]: 18: Hoare triple {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,927 INFO L273 TraceCheckUtils]: 19: Hoare triple {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:13,928 INFO L273 TraceCheckUtils]: 20: Hoare triple {254#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {255#(and (not (= main_~DEFAULTVAL~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-23 12:20:13,931 INFO L273 TraceCheckUtils]: 21: Hoare triple {255#(and (not (= main_~DEFAULTVAL~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 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {256#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 12:20:13,933 INFO L256 TraceCheckUtils]: 22: Hoare triple {256#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {331#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:13,933 INFO L273 TraceCheckUtils]: 23: Hoare triple {331#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {335#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:13,934 INFO L273 TraceCheckUtils]: 24: Hoare triple {335#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {249#false} is VALID [2018-11-23 12:20:13,934 INFO L273 TraceCheckUtils]: 25: Hoare triple {249#false} assume !false; {249#false} is VALID [2018-11-23 12:20:13,937 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:13,959 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:13,959 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-23 12:20:13,960 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-23 12:20:13,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:13,961 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:20:14,083 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:14,083 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:20:14,084 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:20:14,084 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:20:14,085 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. Second operand 16 states. [2018-11-23 12:20:16,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:16,428 INFO L93 Difference]: Finished difference Result 89 states and 116 transitions. [2018-11-23 12:20:16,429 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:20:16,429 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 26 [2018-11-23 12:20:16,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:16,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:20:16,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 116 transitions. [2018-11-23 12:20:16,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:20:16,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 116 transitions. [2018-11-23 12:20:16,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 116 transitions. [2018-11-23 12:20:16,696 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:16,702 INFO L225 Difference]: With dead ends: 89 [2018-11-23 12:20:16,702 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 12:20:16,703 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 20 SyntacticMatches, 9 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=107, Invalid=399, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:20:16,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 12:20:16,763 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 49. [2018-11-23 12:20:16,764 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:16,764 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 49 states. [2018-11-23 12:20:16,764 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 49 states. [2018-11-23 12:20:16,764 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 49 states. [2018-11-23 12:20:16,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:16,773 INFO L93 Difference]: Finished difference Result 87 states and 114 transitions. [2018-11-23 12:20:16,773 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 114 transitions. [2018-11-23 12:20:16,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:16,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:16,775 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 87 states. [2018-11-23 12:20:16,775 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 87 states. [2018-11-23 12:20:16,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:16,782 INFO L93 Difference]: Finished difference Result 87 states and 114 transitions. [2018-11-23 12:20:16,782 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 114 transitions. [2018-11-23 12:20:16,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:16,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:16,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:16,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:16,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:20:16,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2018-11-23 12:20:16,788 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 61 transitions. Word has length 26 [2018-11-23 12:20:16,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:16,788 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 61 transitions. [2018-11-23 12:20:16,788 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:20:16,789 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 61 transitions. [2018-11-23 12:20:16,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 12:20:16,790 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:16,790 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:16,790 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:16,791 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:16,791 INFO L82 PathProgramCache]: Analyzing trace with hash -1358312267, now seen corresponding path program 1 times [2018-11-23 12:20:16,791 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:16,791 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:16,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:16,792 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:16,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:16,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:17,321 WARN L180 SmtUtils]: Spent 145.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 29 [2018-11-23 12:20:17,830 WARN L180 SmtUtils]: Spent 230.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 39 [2018-11-23 12:20:18,448 INFO L256 TraceCheckUtils]: 0: Hoare triple {697#true} call ULTIMATE.init(); {697#true} is VALID [2018-11-23 12:20:18,449 INFO L273 TraceCheckUtils]: 1: Hoare triple {697#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {697#true} is VALID [2018-11-23 12:20:18,449 INFO L273 TraceCheckUtils]: 2: Hoare triple {697#true} assume true; {697#true} is VALID [2018-11-23 12:20:18,449 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {697#true} {697#true} #93#return; {697#true} is VALID [2018-11-23 12:20:18,450 INFO L256 TraceCheckUtils]: 4: Hoare triple {697#true} call #t~ret10 := main(); {697#true} is VALID [2018-11-23 12:20:18,450 INFO L273 TraceCheckUtils]: 5: Hoare triple {697#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {697#true} is VALID [2018-11-23 12:20:18,451 INFO L273 TraceCheckUtils]: 6: Hoare triple {697#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {699#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,453 INFO L273 TraceCheckUtils]: 7: Hoare triple {699#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {700#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,453 INFO L273 TraceCheckUtils]: 8: Hoare triple {700#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {700#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,455 INFO L273 TraceCheckUtils]: 9: Hoare triple {700#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {701#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (and (not (= main_~FIXEDVAL~0 0)) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0))) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,457 INFO L273 TraceCheckUtils]: 10: Hoare triple {701#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (and (not (= main_~FIXEDVAL~0 0)) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0))) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {701#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (and (not (= main_~FIXEDVAL~0 0)) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0))) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,458 INFO L273 TraceCheckUtils]: 11: Hoare triple {701#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (and (not (= main_~FIXEDVAL~0 0)) (not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0))) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,459 INFO L273 TraceCheckUtils]: 12: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,460 INFO L273 TraceCheckUtils]: 13: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,461 INFO L273 TraceCheckUtils]: 14: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,463 INFO L273 TraceCheckUtils]: 15: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,463 INFO L273 TraceCheckUtils]: 16: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,464 INFO L273 TraceCheckUtils]: 17: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,465 INFO L273 TraceCheckUtils]: 18: Hoare triple {702#(and (or (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 19)) (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 20))) main_~DEFAULTVAL~0)) (not (= 20 (+ (* 20 main_~i~0) |main_~#a~0.offset|)))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {703#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 39))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,467 INFO L273 TraceCheckUtils]: 19: Hoare triple {703#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (and (<= 2 ~SIZE~0) (<= (+ (* 20 main_~i~0) |main_~#a~0.offset|) 39))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {704#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,468 INFO L273 TraceCheckUtils]: 20: Hoare triple {704#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {705#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:18,469 INFO L273 TraceCheckUtils]: 21: Hoare triple {705#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {706#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:20:18,470 INFO L256 TraceCheckUtils]: 22: Hoare triple {706#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:20:18,470 INFO L273 TraceCheckUtils]: 23: Hoare triple {707#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {708#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:20:18,471 INFO L273 TraceCheckUtils]: 24: Hoare triple {708#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {698#false} is VALID [2018-11-23 12:20:18,471 INFO L273 TraceCheckUtils]: 25: Hoare triple {698#false} assume !false; {698#false} is VALID [2018-11-23 12:20:18,477 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:18,477 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:18,477 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-23 12:20:18,496 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:18,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:18,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:18,553 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:18,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:20:18,666 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:20:18,668 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,685 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,695 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,696 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:25 [2018-11-23 12:20:18,752 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 31 [2018-11-23 12:20:18,761 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 48 [2018-11-23 12:20:18,764 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,770 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,782 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,783 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:47, output treesize:43 [2018-11-23 12:20:18,841 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 41 [2018-11-23 12:20:18,847 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,848 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,849 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 88 [2018-11-23 12:20:18,856 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,867 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,882 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:18,883 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:43 [2018-11-23 12:20:18,887 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:18,887 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, main_~value~0]. (let ((.cse1 (select |v_#memory_int_31| |main_~#a~0.base|)) (.cse2 (* 20 main_~i~0))) (let ((.cse0 (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 20))))) (and (<= 10 .cse0) (= main_~i~0 1) (= (store |v_#memory_int_31| |main_~#a~0.base| (store .cse1 (+ .cse2 |main_~#a~0.offset| (- 12)) main_~value~0)) |#memory_int|) (= .cse0 (select .cse1 (+ .cse2 |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:18,887 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (let ((.cse2 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16))) .cse2) (= main_~i~0 1) (<= 10 .cse2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:18,984 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 41 [2018-11-23 12:20:18,992 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,992 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,993 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:18,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 88 [2018-11-23 12:20:19,000 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,016 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,032 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,033 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:59, output treesize:43 [2018-11-23 12:20:19,037 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:19,037 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_32| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (let ((.cse2 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))))) (and (= (store |v_#memory_int_32| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0)) |#memory_int|) (<= 10 .cse2) (= main_~i~0 1) (= .cse2 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:19,037 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (let ((.cse2 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 20))))) (and (= (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16))) .cse2) (= main_~i~0 1) (<= 10 .cse2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:19,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 25 [2018-11-23 12:20:19,123 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:19,124 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:19,125 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:19,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 50 [2018-11-23 12:20:19,137 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,147 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,160 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,160 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:40, output treesize:27 [2018-11-23 12:20:19,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:19,165 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_33| |main_~#a~0.base|))) (let ((.cse1 (select .cse0 |main_~#a~0.offset|))) (and (= (select .cse0 (+ |main_~#a~0.offset| 4)) .cse1) (= (store |v_#memory_int_33| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0)) |#memory_int|) (<= 10 .cse1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:19,165 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse0 (select .cse1 |main_~#a~0.offset|))) (and (<= 10 .cse0) (= (select .cse1 (+ |main_~#a~0.offset| 4)) .cse0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:19,282 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 18 [2018-11-23 12:20:19,289 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 10 [2018-11-23 12:20:19,297 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,299 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,302 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:19,303 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:7 [2018-11-23 12:20:19,305 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:19,306 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select |#memory_int| |main_~#a~0.base|))) (let ((.cse1 (select .cse0 0))) (and (= (select .cse0 4) .cse1) (<= 10 .cse1) (<= .cse1 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0)))) [2018-11-23 12:20:19,306 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:19,371 INFO L256 TraceCheckUtils]: 0: Hoare triple {697#true} call ULTIMATE.init(); {697#true} is VALID [2018-11-23 12:20:19,371 INFO L273 TraceCheckUtils]: 1: Hoare triple {697#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {697#true} is VALID [2018-11-23 12:20:19,371 INFO L273 TraceCheckUtils]: 2: Hoare triple {697#true} assume true; {697#true} is VALID [2018-11-23 12:20:19,372 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {697#true} {697#true} #93#return; {697#true} is VALID [2018-11-23 12:20:19,372 INFO L256 TraceCheckUtils]: 4: Hoare triple {697#true} call #t~ret10 := main(); {697#true} is VALID [2018-11-23 12:20:19,373 INFO L273 TraceCheckUtils]: 5: Hoare triple {697#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {697#true} is VALID [2018-11-23 12:20:19,374 INFO L273 TraceCheckUtils]: 6: Hoare triple {697#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {730#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,374 INFO L273 TraceCheckUtils]: 7: Hoare triple {730#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {734#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,375 INFO L273 TraceCheckUtils]: 8: Hoare triple {734#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {734#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,376 INFO L273 TraceCheckUtils]: 9: Hoare triple {734#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {741#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,376 INFO L273 TraceCheckUtils]: 10: Hoare triple {741#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {741#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,395 INFO L273 TraceCheckUtils]: 11: Hoare triple {741#(and (= main_~FIXEDVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,398 INFO L273 TraceCheckUtils]: 12: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,403 INFO L273 TraceCheckUtils]: 13: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,404 INFO L273 TraceCheckUtils]: 14: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,405 INFO L273 TraceCheckUtils]: 15: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,406 INFO L273 TraceCheckUtils]: 16: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,408 INFO L273 TraceCheckUtils]: 17: Hoare triple {748#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,409 INFO L273 TraceCheckUtils]: 18: Hoare triple {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,410 INFO L273 TraceCheckUtils]: 19: Hoare triple {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,411 INFO L273 TraceCheckUtils]: 20: Hoare triple {767#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {777#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,412 INFO L273 TraceCheckUtils]: 21: Hoare triple {777#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {781#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:19,413 INFO L256 TraceCheckUtils]: 22: Hoare triple {781#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {785#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:19,414 INFO L273 TraceCheckUtils]: 23: Hoare triple {785#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {789#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:19,415 INFO L273 TraceCheckUtils]: 24: Hoare triple {789#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {698#false} is VALID [2018-11-23 12:20:19,416 INFO L273 TraceCheckUtils]: 25: Hoare triple {698#false} assume !false; {698#false} is VALID [2018-11-23 12:20:19,419 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:19,439 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:19,439 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-23 12:20:19,439 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 26 [2018-11-23 12:20:19,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:19,440 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:20:19,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:19,587 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:20:19,588 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:20:19,588 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=364, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:20:19,588 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. Second operand 21 states. [2018-11-23 12:20:23,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:23,558 INFO L93 Difference]: Finished difference Result 104 states and 134 transitions. [2018-11-23 12:20:23,558 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:20:23,558 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 26 [2018-11-23 12:20:23,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:23,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:20:23,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 110 transitions. [2018-11-23 12:20:23,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:20:23,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 110 transitions. [2018-11-23 12:20:23,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 110 transitions. [2018-11-23 12:20:23,854 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:23,860 INFO L225 Difference]: With dead ends: 104 [2018-11-23 12:20:23,860 INFO L226 Difference]: Without dead ends: 102 [2018-11-23 12:20:23,861 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 21 SyntacticMatches, 3 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 188 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=237, Invalid=953, Unknown=0, NotChecked=0, Total=1190 [2018-11-23 12:20:23,861 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2018-11-23 12:20:24,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 71. [2018-11-23 12:20:24,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:24,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand 71 states. [2018-11-23 12:20:24,002 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 71 states. [2018-11-23 12:20:24,002 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 71 states. [2018-11-23 12:20:24,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:24,008 INFO L93 Difference]: Finished difference Result 102 states and 132 transitions. [2018-11-23 12:20:24,008 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 132 transitions. [2018-11-23 12:20:24,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:24,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:24,010 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 102 states. [2018-11-23 12:20:24,010 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 102 states. [2018-11-23 12:20:24,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:24,016 INFO L93 Difference]: Finished difference Result 102 states and 132 transitions. [2018-11-23 12:20:24,016 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 132 transitions. [2018-11-23 12:20:24,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:24,018 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:24,018 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:24,018 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:24,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 12:20:24,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 90 transitions. [2018-11-23 12:20:24,022 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 90 transitions. Word has length 26 [2018-11-23 12:20:24,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:24,022 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 90 transitions. [2018-11-23 12:20:24,022 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:20:24,022 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 90 transitions. [2018-11-23 12:20:24,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:20:24,024 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:24,024 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:24,024 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:24,024 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:24,024 INFO L82 PathProgramCache]: Analyzing trace with hash -1331027866, now seen corresponding path program 1 times [2018-11-23 12:20:24,025 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:24,025 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:24,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:24,026 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:24,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:24,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:24,625 INFO L256 TraceCheckUtils]: 0: Hoare triple {1246#true} call ULTIMATE.init(); {1246#true} is VALID [2018-11-23 12:20:24,625 INFO L273 TraceCheckUtils]: 1: Hoare triple {1246#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1246#true} is VALID [2018-11-23 12:20:24,625 INFO L273 TraceCheckUtils]: 2: Hoare triple {1246#true} assume true; {1246#true} is VALID [2018-11-23 12:20:24,626 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1246#true} {1246#true} #93#return; {1246#true} is VALID [2018-11-23 12:20:24,626 INFO L256 TraceCheckUtils]: 4: Hoare triple {1246#true} call #t~ret10 := main(); {1246#true} is VALID [2018-11-23 12:20:24,626 INFO L273 TraceCheckUtils]: 5: Hoare triple {1246#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1246#true} is VALID [2018-11-23 12:20:24,641 INFO L273 TraceCheckUtils]: 6: Hoare triple {1246#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {1248#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:24,642 INFO L273 TraceCheckUtils]: 7: Hoare triple {1248#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:24,643 INFO L273 TraceCheckUtils]: 8: Hoare triple {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:24,646 INFO L273 TraceCheckUtils]: 9: Hoare triple {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:24,647 INFO L273 TraceCheckUtils]: 10: Hoare triple {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:24,648 INFO L273 TraceCheckUtils]: 11: Hoare triple {1249#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,649 INFO L273 TraceCheckUtils]: 12: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,650 INFO L273 TraceCheckUtils]: 13: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,651 INFO L273 TraceCheckUtils]: 14: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,653 INFO L273 TraceCheckUtils]: 15: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,654 INFO L273 TraceCheckUtils]: 16: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,655 INFO L273 TraceCheckUtils]: 17: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:20:24,656 INFO L273 TraceCheckUtils]: 18: Hoare triple {1250#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1251#(and (or (<= (* 5 main_~i~0) 9) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:20:24,658 INFO L273 TraceCheckUtils]: 19: Hoare triple {1251#(and (or (<= (* 5 main_~i~0) 9) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {1252#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:20:24,659 INFO L273 TraceCheckUtils]: 20: Hoare triple {1252#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} ~i~0 := 0; {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:20:24,660 INFO L273 TraceCheckUtils]: 21: Hoare triple {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:20:24,660 INFO L256 TraceCheckUtils]: 22: Hoare triple {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {1246#true} is VALID [2018-11-23 12:20:24,660 INFO L273 TraceCheckUtils]: 23: Hoare triple {1246#true} ~cond := #in~cond; {1246#true} is VALID [2018-11-23 12:20:24,661 INFO L273 TraceCheckUtils]: 24: Hoare triple {1246#true} assume !(0 == ~cond); {1246#true} is VALID [2018-11-23 12:20:24,661 INFO L273 TraceCheckUtils]: 25: Hoare triple {1246#true} assume true; {1246#true} is VALID [2018-11-23 12:20:24,662 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1246#true} {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} #97#return; {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:20:24,663 INFO L273 TraceCheckUtils]: 27: Hoare triple {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} havoc #t~mem9; {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:20:24,664 INFO L273 TraceCheckUtils]: 28: Hoare triple {1253#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1254#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:20:24,665 INFO L273 TraceCheckUtils]: 29: Hoare triple {1254#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1255#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:20:24,666 INFO L256 TraceCheckUtils]: 30: Hoare triple {1255#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {1256#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:20:24,667 INFO L273 TraceCheckUtils]: 31: Hoare triple {1256#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1257#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:20:24,668 INFO L273 TraceCheckUtils]: 32: Hoare triple {1257#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1247#false} is VALID [2018-11-23 12:20:24,668 INFO L273 TraceCheckUtils]: 33: Hoare triple {1247#false} assume !false; {1247#false} is VALID [2018-11-23 12:20:24,674 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:24,674 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:24,674 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-23 12:20:24,685 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:24,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:24,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:24,738 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:24,872 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:20:24,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:20:24,881 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,884 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,896 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,896 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:20:24,899 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:24,899 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, main_~FIXEDVAL~0]. (and (= main_~i~0 1) (= (store |v_#memory_int_34| |main_~#a~0.base| (store (select |v_#memory_int_34| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0)) |#memory_int|) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:24,899 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:24,940 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:20:24,946 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:24,949 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:20:24,950 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,958 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,970 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:24,970 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:20:24,974 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:24,974 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_35| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= (store |v_#memory_int_35| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 12)) main_~value~0)) |#memory_int|) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:20:24,974 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:25,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:20:25,140 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:25,146 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:20:25,148 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,154 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,169 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,169 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:20:25,172 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:25,172 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_36| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_36| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0))) (= main_~i~0 1) (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:20:25,172 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:25,192 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:20:25,196 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:25,199 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 12:20:25,201 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,207 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,216 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,217 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-23 12:20:25,219 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:25,220 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_37| |main_~#a~0.base|))) (and (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (= (store |v_#memory_int_37| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:20:25,220 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:25,447 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:20:25,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-23 12:20:25,457 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,459 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,463 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:25,463 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 12:20:25,466 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:25,466 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) 4))) (and (<= .cse0 |main_#t~mem9|) (<= 10 .cse0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:20:25,466 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:25,531 INFO L256 TraceCheckUtils]: 0: Hoare triple {1246#true} call ULTIMATE.init(); {1246#true} is VALID [2018-11-23 12:20:25,531 INFO L273 TraceCheckUtils]: 1: Hoare triple {1246#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1246#true} is VALID [2018-11-23 12:20:25,531 INFO L273 TraceCheckUtils]: 2: Hoare triple {1246#true} assume true; {1246#true} is VALID [2018-11-23 12:20:25,532 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1246#true} {1246#true} #93#return; {1246#true} is VALID [2018-11-23 12:20:25,532 INFO L256 TraceCheckUtils]: 4: Hoare triple {1246#true} call #t~ret10 := main(); {1246#true} is VALID [2018-11-23 12:20:25,532 INFO L273 TraceCheckUtils]: 5: Hoare triple {1246#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1246#true} is VALID [2018-11-23 12:20:25,533 INFO L273 TraceCheckUtils]: 6: Hoare triple {1246#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {1279#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,534 INFO L273 TraceCheckUtils]: 7: Hoare triple {1279#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,535 INFO L273 TraceCheckUtils]: 8: Hoare triple {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,535 INFO L273 TraceCheckUtils]: 9: Hoare triple {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,536 INFO L273 TraceCheckUtils]: 10: Hoare triple {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,536 INFO L273 TraceCheckUtils]: 11: Hoare triple {1283#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,538 INFO L273 TraceCheckUtils]: 12: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,539 INFO L273 TraceCheckUtils]: 13: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,541 INFO L273 TraceCheckUtils]: 14: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,546 INFO L273 TraceCheckUtils]: 15: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,547 INFO L273 TraceCheckUtils]: 16: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,548 INFO L273 TraceCheckUtils]: 17: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,549 INFO L273 TraceCheckUtils]: 18: Hoare triple {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,549 INFO L273 TraceCheckUtils]: 19: Hoare triple {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,550 INFO L273 TraceCheckUtils]: 20: Hoare triple {1315#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,550 INFO L273 TraceCheckUtils]: 21: Hoare triple {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,552 INFO L256 TraceCheckUtils]: 22: Hoare triple {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:20:25,553 INFO L273 TraceCheckUtils]: 23: Hoare triple {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} ~cond := #in~cond; {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:20:25,553 INFO L273 TraceCheckUtils]: 24: Hoare triple {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} assume !(0 == ~cond); {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:20:25,554 INFO L273 TraceCheckUtils]: 25: Hoare triple {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} assume true; {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} is VALID [2018-11-23 12:20:25,555 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {1332#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) 4)))} {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #97#return; {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,556 INFO L273 TraceCheckUtils]: 27: Hoare triple {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,557 INFO L273 TraceCheckUtils]: 28: Hoare triple {1325#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,558 INFO L273 TraceCheckUtils]: 29: Hoare triple {1296#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1354#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:20:25,559 INFO L256 TraceCheckUtils]: 30: Hoare triple {1354#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {1358#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:25,560 INFO L273 TraceCheckUtils]: 31: Hoare triple {1358#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1362#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:25,561 INFO L273 TraceCheckUtils]: 32: Hoare triple {1362#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1247#false} is VALID [2018-11-23 12:20:25,561 INFO L273 TraceCheckUtils]: 33: Hoare triple {1247#false} assume !false; {1247#false} is VALID [2018-11-23 12:20:25,566 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:20:25,586 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:25,586 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-23 12:20:25,586 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-23 12:20:25,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:25,587 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:20:25,704 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-23 12:20:25,704 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:20:25,704 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:20:25,705 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=366, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:20:25,705 INFO L87 Difference]: Start difference. First operand 71 states and 90 transitions. Second operand 21 states. [2018-11-23 12:20:34,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:34,275 INFO L93 Difference]: Finished difference Result 242 states and 315 transitions. [2018-11-23 12:20:34,275 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:20:34,275 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 34 [2018-11-23 12:20:34,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:20:34,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:20:34,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 185 transitions. [2018-11-23 12:20:34,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:20:34,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 185 transitions. [2018-11-23 12:20:34,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 185 transitions. [2018-11-23 12:20:34,590 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 185 edges. 185 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:34,599 INFO L225 Difference]: With dead ends: 242 [2018-11-23 12:20:34,599 INFO L226 Difference]: Without dead ends: 240 [2018-11-23 12:20:34,600 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 27 SyntacticMatches, 5 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 463 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=342, Invalid=1638, Unknown=0, NotChecked=0, Total=1980 [2018-11-23 12:20:34,601 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2018-11-23 12:20:34,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 77. [2018-11-23 12:20:34,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:20:34,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand 77 states. [2018-11-23 12:20:34,876 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand 77 states. [2018-11-23 12:20:34,876 INFO L87 Difference]: Start difference. First operand 240 states. Second operand 77 states. [2018-11-23 12:20:34,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:34,888 INFO L93 Difference]: Finished difference Result 240 states and 312 transitions. [2018-11-23 12:20:34,888 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 312 transitions. [2018-11-23 12:20:34,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:34,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:34,890 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 240 states. [2018-11-23 12:20:34,890 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 240 states. [2018-11-23 12:20:34,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:20:34,901 INFO L93 Difference]: Finished difference Result 240 states and 312 transitions. [2018-11-23 12:20:34,901 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 312 transitions. [2018-11-23 12:20:34,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:20:34,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:20:34,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:20:34,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:20:34,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:20:34,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 96 transitions. [2018-11-23 12:20:34,906 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 96 transitions. Word has length 34 [2018-11-23 12:20:34,906 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:20:34,906 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 96 transitions. [2018-11-23 12:20:34,906 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:20:34,906 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 96 transitions. [2018-11-23 12:20:34,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:20:34,907 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:20:34,907 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:20:34,908 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:20:34,908 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:20:34,908 INFO L82 PathProgramCache]: Analyzing trace with hash -839332583, now seen corresponding path program 2 times [2018-11-23 12:20:34,908 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:20:34,908 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:20:34,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:34,909 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:20:34,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:20:34,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:35,460 INFO L256 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2018-11-23 12:20:35,460 INFO L273 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2295#true} is VALID [2018-11-23 12:20:35,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2018-11-23 12:20:35,461 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #93#return; {2295#true} is VALID [2018-11-23 12:20:35,461 INFO L256 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret10 := main(); {2295#true} is VALID [2018-11-23 12:20:35,461 INFO L273 TraceCheckUtils]: 5: Hoare triple {2295#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2295#true} is VALID [2018-11-23 12:20:35,463 INFO L273 TraceCheckUtils]: 6: Hoare triple {2295#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {2297#(<= 2 ~SIZE~0)} is VALID [2018-11-23 12:20:35,464 INFO L273 TraceCheckUtils]: 7: Hoare triple {2297#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,464 INFO L273 TraceCheckUtils]: 8: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,465 INFO L273 TraceCheckUtils]: 9: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,466 INFO L273 TraceCheckUtils]: 10: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,467 INFO L273 TraceCheckUtils]: 11: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,468 INFO L273 TraceCheckUtils]: 12: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,469 INFO L273 TraceCheckUtils]: 13: Hoare triple {2298#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,470 INFO L273 TraceCheckUtils]: 14: Hoare triple {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,471 INFO L273 TraceCheckUtils]: 15: Hoare triple {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,478 INFO L273 TraceCheckUtils]: 16: Hoare triple {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,486 INFO L273 TraceCheckUtils]: 17: Hoare triple {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:20:35,487 INFO L273 TraceCheckUtils]: 18: Hoare triple {2299#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2300#(and (or (<= (* 5 main_~i~0) 9) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12))))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:20:35,487 INFO L273 TraceCheckUtils]: 19: Hoare triple {2300#(and (or (<= (* 5 main_~i~0) 9) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12))))))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {2301#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:20:35,488 INFO L273 TraceCheckUtils]: 20: Hoare triple {2301#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)))} ~i~0 := 0; {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:20:35,489 INFO L273 TraceCheckUtils]: 21: Hoare triple {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:20:35,489 INFO L256 TraceCheckUtils]: 22: Hoare triple {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2295#true} is VALID [2018-11-23 12:20:35,489 INFO L273 TraceCheckUtils]: 23: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2018-11-23 12:20:35,489 INFO L273 TraceCheckUtils]: 24: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2018-11-23 12:20:35,490 INFO L273 TraceCheckUtils]: 25: Hoare triple {2295#true} assume true; {2295#true} is VALID [2018-11-23 12:20:35,491 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2295#true} {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #97#return; {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:20:35,491 INFO L273 TraceCheckUtils]: 27: Hoare triple {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} havoc #t~mem9; {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:20:35,492 INFO L273 TraceCheckUtils]: 28: Hoare triple {2302#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:20:35,493 INFO L273 TraceCheckUtils]: 29: Hoare triple {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:20:35,493 INFO L256 TraceCheckUtils]: 30: Hoare triple {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2295#true} is VALID [2018-11-23 12:20:35,493 INFO L273 TraceCheckUtils]: 31: Hoare triple {2295#true} ~cond := #in~cond; {2295#true} is VALID [2018-11-23 12:20:35,493 INFO L273 TraceCheckUtils]: 32: Hoare triple {2295#true} assume !(0 == ~cond); {2295#true} is VALID [2018-11-23 12:20:35,493 INFO L273 TraceCheckUtils]: 33: Hoare triple {2295#true} assume true; {2295#true} is VALID [2018-11-23 12:20:35,494 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2295#true} {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} #97#return; {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:20:35,495 INFO L273 TraceCheckUtils]: 35: Hoare triple {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} havoc #t~mem9; {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:20:35,496 INFO L273 TraceCheckUtils]: 36: Hoare triple {2303#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))))) (< 0 (div ~SIZE~0 5)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2304#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-23 12:20:35,497 INFO L273 TraceCheckUtils]: 37: Hoare triple {2304#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2305#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 12:20:35,498 INFO L256 TraceCheckUtils]: 38: Hoare triple {2305#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:20:35,499 INFO L273 TraceCheckUtils]: 39: Hoare triple {2306#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2307#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:20:35,499 INFO L273 TraceCheckUtils]: 40: Hoare triple {2307#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2296#false} is VALID [2018-11-23 12:20:35,499 INFO L273 TraceCheckUtils]: 41: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2018-11-23 12:20:35,507 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:20:35,508 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:20:35,508 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-23 12:20:35,526 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:20:35,551 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:20:35,551 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:20:35,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:20:35,578 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:20:35,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:20:35,751 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:20:35,754 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,756 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,767 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,768 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:23 [2018-11-23 12:20:35,772 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:35,772 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, main_~value~0]. (and (not (= main_~value~0 main_~DEFAULTVAL~0)) (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_38| |main_~#a~0.base| (store (select |v_#memory_int_38| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)) main_~value~0))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:35,772 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:35,812 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-23 12:20:35,821 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:35,824 INFO L478 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 40 [2018-11-23 12:20:35,829 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,835 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,847 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,848 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:39, output treesize:23 [2018-11-23 12:20:35,854 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:35,855 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_39| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (not (= main_~DEFAULTVAL~0 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 12))))) (= main_~i~0 1) (= (store |v_#memory_int_39| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0)) |#memory_int|) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:35,855 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:35,871 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 19 [2018-11-23 12:20:35,876 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:20:35,879 INFO L478 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 19 treesize of output 28 [2018-11-23 12:20:35,881 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,887 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,896 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:35,896 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-23 12:20:35,899 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:35,899 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_40|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_40| |main_~#a~0.base|))) (and (= |#memory_int| (store |v_#memory_int_40| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0))) (not (= main_~DEFAULTVAL~0 (select .cse0 (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))) [2018-11-23 12:20:35,900 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0)) [2018-11-23 12:20:36,260 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-23 12:20:36,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 4 [2018-11-23 12:20:36,266 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:20:36,268 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:36,273 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:20:36,273 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-23 12:20:36,275 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:20:36,276 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) 8))) (and (= .cse0 |main_#t~mem9|) (not (= main_~DEFAULTVAL~0 .cse0)) (= main_~DEFAULTVAL~0 0))) [2018-11-23 12:20:36,276 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 0)) [2018-11-23 12:20:36,331 INFO L256 TraceCheckUtils]: 0: Hoare triple {2295#true} call ULTIMATE.init(); {2295#true} is VALID [2018-11-23 12:20:36,331 INFO L273 TraceCheckUtils]: 1: Hoare triple {2295#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2295#true} is VALID [2018-11-23 12:20:36,331 INFO L273 TraceCheckUtils]: 2: Hoare triple {2295#true} assume true; {2295#true} is VALID [2018-11-23 12:20:36,331 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2295#true} {2295#true} #93#return; {2295#true} is VALID [2018-11-23 12:20:36,332 INFO L256 TraceCheckUtils]: 4: Hoare triple {2295#true} call #t~ret10 := main(); {2295#true} is VALID [2018-11-23 12:20:36,332 INFO L273 TraceCheckUtils]: 5: Hoare triple {2295#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2295#true} is VALID [2018-11-23 12:20:36,332 INFO L273 TraceCheckUtils]: 6: Hoare triple {2295#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {2329#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,333 INFO L273 TraceCheckUtils]: 7: Hoare triple {2329#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,333 INFO L273 TraceCheckUtils]: 8: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,334 INFO L273 TraceCheckUtils]: 9: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,334 INFO L273 TraceCheckUtils]: 10: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,335 INFO L273 TraceCheckUtils]: 11: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,335 INFO L273 TraceCheckUtils]: 12: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,336 INFO L273 TraceCheckUtils]: 13: Hoare triple {2333#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,338 INFO L273 TraceCheckUtils]: 14: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,339 INFO L273 TraceCheckUtils]: 15: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,340 INFO L273 TraceCheckUtils]: 16: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,341 INFO L273 TraceCheckUtils]: 17: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,342 INFO L273 TraceCheckUtils]: 18: Hoare triple {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,343 INFO L273 TraceCheckUtils]: 19: Hoare triple {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,344 INFO L273 TraceCheckUtils]: 20: Hoare triple {2365#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,345 INFO L273 TraceCheckUtils]: 21: Hoare triple {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,346 INFO L256 TraceCheckUtils]: 22: Hoare triple {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,347 INFO L273 TraceCheckUtils]: 23: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} ~cond := #in~cond; {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,349 INFO L273 TraceCheckUtils]: 24: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} assume !(0 == ~cond); {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,351 INFO L273 TraceCheckUtils]: 25: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} assume true; {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,354 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #97#return; {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,356 INFO L273 TraceCheckUtils]: 27: Hoare triple {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem9; {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,357 INFO L273 TraceCheckUtils]: 28: Hoare triple {2375#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,357 INFO L273 TraceCheckUtils]: 29: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,359 INFO L256 TraceCheckUtils]: 30: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,360 INFO L273 TraceCheckUtils]: 31: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} ~cond := #in~cond; {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,360 INFO L273 TraceCheckUtils]: 32: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} assume !(0 == ~cond); {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,361 INFO L273 TraceCheckUtils]: 33: Hoare triple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} assume true; {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} is VALID [2018-11-23 12:20:36,362 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2382#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (not (= 0 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 8))))} {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #97#return; {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,363 INFO L273 TraceCheckUtils]: 35: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem9; {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,369 INFO L273 TraceCheckUtils]: 36: Hoare triple {2352#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2425#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:20:36,370 INFO L273 TraceCheckUtils]: 37: Hoare triple {2425#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8)))) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2429#(and (= main_~DEFAULTVAL~0 0) (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)))} is VALID [2018-11-23 12:20:36,371 INFO L256 TraceCheckUtils]: 38: Hoare triple {2429#(and (= main_~DEFAULTVAL~0 0) (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {2433#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:20:36,371 INFO L273 TraceCheckUtils]: 39: Hoare triple {2433#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2437#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:20:36,372 INFO L273 TraceCheckUtils]: 40: Hoare triple {2437#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2296#false} is VALID [2018-11-23 12:20:36,372 INFO L273 TraceCheckUtils]: 41: Hoare triple {2296#false} assume !false; {2296#false} is VALID [2018-11-23 12:20:36,379 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:20:36,399 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:20:36,399 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-23 12:20:36,400 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 12:20:36,400 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:20:36,400 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:20:36,486 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:20:36,486 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:20:36,486 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:20:36,487 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=436, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:20:36,487 INFO L87 Difference]: Start difference. First operand 77 states and 96 transitions. Second operand 23 states. [2018-11-23 12:21:44,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:44,796 INFO L93 Difference]: Finished difference Result 206 states and 262 transitions. [2018-11-23 12:21:44,796 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:21:44,796 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 42 [2018-11-23 12:21:44,796 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:21:44,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:44,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 162 transitions. [2018-11-23 12:21:44,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:21:44,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 162 transitions. [2018-11-23 12:21:44,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 162 transitions. [2018-11-23 12:21:45,074 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:45,079 INFO L225 Difference]: With dead ends: 206 [2018-11-23 12:21:45,079 INFO L226 Difference]: Without dead ends: 204 [2018-11-23 12:21:45,080 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 32 SyntacticMatches, 6 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 498 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=309, Invalid=1583, Unknown=0, NotChecked=0, Total=1892 [2018-11-23 12:21:45,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 204 states. [2018-11-23 12:21:45,625 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 204 to 168. [2018-11-23 12:21:45,625 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:21:45,626 INFO L82 GeneralOperation]: Start isEquivalent. First operand 204 states. Second operand 168 states. [2018-11-23 12:21:45,626 INFO L74 IsIncluded]: Start isIncluded. First operand 204 states. Second operand 168 states. [2018-11-23 12:21:45,626 INFO L87 Difference]: Start difference. First operand 204 states. Second operand 168 states. [2018-11-23 12:21:45,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:45,636 INFO L93 Difference]: Finished difference Result 204 states and 260 transitions. [2018-11-23 12:21:45,636 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 260 transitions. [2018-11-23 12:21:45,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:45,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:45,637 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand 204 states. [2018-11-23 12:21:45,637 INFO L87 Difference]: Start difference. First operand 168 states. Second operand 204 states. [2018-11-23 12:21:45,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:21:45,645 INFO L93 Difference]: Finished difference Result 204 states and 260 transitions. [2018-11-23 12:21:45,645 INFO L276 IsEmpty]: Start isEmpty. Operand 204 states and 260 transitions. [2018-11-23 12:21:45,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:21:45,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:21:45,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:21:45,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:21:45,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 168 states. [2018-11-23 12:21:45,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 168 states to 168 states and 215 transitions. [2018-11-23 12:21:45,652 INFO L78 Accepts]: Start accepts. Automaton has 168 states and 215 transitions. Word has length 42 [2018-11-23 12:21:45,652 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:21:45,653 INFO L480 AbstractCegarLoop]: Abstraction has 168 states and 215 transitions. [2018-11-23 12:21:45,653 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:21:45,653 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 215 transitions. [2018-11-23 12:21:45,654 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:21:45,654 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:21:45,654 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:21:45,654 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:21:45,654 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:21:45,655 INFO L82 PathProgramCache]: Analyzing trace with hash 546870811, now seen corresponding path program 1 times [2018-11-23 12:21:45,655 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:21:45,655 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:21:45,656 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:45,656 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:21:45,656 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:21:45,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:45,999 WARN L180 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 3 [2018-11-23 12:21:46,709 INFO L256 TraceCheckUtils]: 0: Hoare triple {3366#true} call ULTIMATE.init(); {3366#true} is VALID [2018-11-23 12:21:46,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {3366#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3366#true} is VALID [2018-11-23 12:21:46,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {3366#true} assume true; {3366#true} is VALID [2018-11-23 12:21:46,710 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3366#true} {3366#true} #93#return; {3366#true} is VALID [2018-11-23 12:21:46,711 INFO L256 TraceCheckUtils]: 4: Hoare triple {3366#true} call #t~ret10 := main(); {3366#true} is VALID [2018-11-23 12:21:46,711 INFO L273 TraceCheckUtils]: 5: Hoare triple {3366#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3366#true} is VALID [2018-11-23 12:21:46,712 INFO L273 TraceCheckUtils]: 6: Hoare triple {3366#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {3368#(<= 2 ~SIZE~0)} is VALID [2018-11-23 12:21:46,713 INFO L273 TraceCheckUtils]: 7: Hoare triple {3368#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,713 INFO L273 TraceCheckUtils]: 8: Hoare triple {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,714 INFO L273 TraceCheckUtils]: 9: Hoare triple {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,714 INFO L273 TraceCheckUtils]: 10: Hoare triple {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,715 INFO L273 TraceCheckUtils]: 11: Hoare triple {3369#(and (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {3370#(and (= main_~FIXEDVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,716 INFO L273 TraceCheckUtils]: 12: Hoare triple {3370#(and (= main_~FIXEDVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {3370#(and (= main_~FIXEDVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,718 INFO L273 TraceCheckUtils]: 13: Hoare triple {3370#(and (= main_~FIXEDVAL~0 (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12)) main_~FIXEDVAL~0) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,719 INFO L273 TraceCheckUtils]: 14: Hoare triple {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,720 INFO L273 TraceCheckUtils]: 15: Hoare triple {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,721 INFO L273 TraceCheckUtils]: 16: Hoare triple {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,723 INFO L273 TraceCheckUtils]: 17: Hoare triple {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:21:46,725 INFO L273 TraceCheckUtils]: 18: Hoare triple {3371#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 12))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (or (= main_~i~0 1) (<= main_~i~0 0)) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3372#(and (or (<= (* 5 main_~i~0) (+ ~SIZE~0 3)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:21:46,728 INFO L273 TraceCheckUtils]: 19: Hoare triple {3372#(and (or (<= (* 5 main_~i~0) (+ ~SIZE~0 3)) (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (<= 2 ~SIZE~0) (<= (* 5 main_~i~0) 10))) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {3373#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,728 INFO L273 TraceCheckUtils]: 20: Hoare triple {3373#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)))} ~i~0 := 0; {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:46,729 INFO L273 TraceCheckUtils]: 21: Hoare triple {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:46,729 INFO L256 TraceCheckUtils]: 22: Hoare triple {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3366#true} is VALID [2018-11-23 12:21:46,729 INFO L273 TraceCheckUtils]: 23: Hoare triple {3366#true} ~cond := #in~cond; {3366#true} is VALID [2018-11-23 12:21:46,730 INFO L273 TraceCheckUtils]: 24: Hoare triple {3366#true} assume !(0 == ~cond); {3366#true} is VALID [2018-11-23 12:21:46,730 INFO L273 TraceCheckUtils]: 25: Hoare triple {3366#true} assume true; {3366#true} is VALID [2018-11-23 12:21:46,731 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3366#true} {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #97#return; {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:46,732 INFO L273 TraceCheckUtils]: 27: Hoare triple {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} havoc #t~mem9; {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:21:46,733 INFO L273 TraceCheckUtils]: 28: Hoare triple {3374#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3375#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,734 INFO L273 TraceCheckUtils]: 29: Hoare triple {3375#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))) (< 0 (div ~SIZE~0 5)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3376#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= |main_#t~mem9| (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,735 INFO L256 TraceCheckUtils]: 30: Hoare triple {3376#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= |main_#t~mem9| (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12))))) (< 0 (div ~SIZE~0 5)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3366#true} is VALID [2018-11-23 12:21:46,735 INFO L273 TraceCheckUtils]: 31: Hoare triple {3366#true} ~cond := #in~cond; {3377#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 12:21:46,736 INFO L273 TraceCheckUtils]: 32: Hoare triple {3377#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:46,736 INFO L273 TraceCheckUtils]: 33: Hoare triple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:46,738 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} {3376#(and (<= (* 5 (div ~SIZE~0 5)) 5) (= |main_#t~mem9| (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12))))) (< 0 (div ~SIZE~0 5)))} #97#return; {3379#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) main_~DEFAULTVAL~0)) (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,739 INFO L273 TraceCheckUtils]: 35: Hoare triple {3379#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) main_~DEFAULTVAL~0)) (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)))} havoc #t~mem9; {3379#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) main_~DEFAULTVAL~0)) (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,741 INFO L273 TraceCheckUtils]: 36: Hoare triple {3379#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 12)))) main_~DEFAULTVAL~0)) (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3380#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:21:46,742 INFO L273 TraceCheckUtils]: 37: Hoare triple {3380#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)) (< 0 (div ~SIZE~0 5)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3381#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:21:46,743 INFO L256 TraceCheckUtils]: 38: Hoare triple {3381#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:21:46,744 INFO L273 TraceCheckUtils]: 39: Hoare triple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3382#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:21:46,745 INFO L273 TraceCheckUtils]: 40: Hoare triple {3382#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3367#false} is VALID [2018-11-23 12:21:46,745 INFO L273 TraceCheckUtils]: 41: Hoare triple {3367#false} assume !false; {3367#false} is VALID [2018-11-23 12:21:46,753 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:21:46,753 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:21:46,753 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-23 12:21:46,762 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:21:46,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:46,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:21:46,808 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:21:46,910 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:21:46,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:21:46,921 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:46,928 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:46,941 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:46,942 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:21:46,945 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:46,945 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, main_~FIXEDVAL~0]. (and (= main_~i~0 1) (= (store |v_#memory_int_41| |main_~#a~0.base| (store (select |v_#memory_int_41| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)) main_~FIXEDVAL~0)) |#memory_int|) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:21:46,946 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:21:46,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:21:47,001 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:47,004 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:21:47,006 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,013 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,028 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,029 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:21:47,033 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:47,033 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_42| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= (store |v_#memory_int_42| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:21:47,034 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:21:47,052 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-23 12:21:47,058 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:21:47,061 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 27 [2018-11-23 12:21:47,064 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,070 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,080 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,080 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-23 12:21:47,083 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:47,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_43| |main_~#a~0.base|))) (and (<= 10 (select .cse0 (+ |main_~#a~0.offset| 8))) (= (store |v_#memory_int_43| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:21:47,083 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:21:47,401 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:21:47,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-23 12:21:47,412 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,413 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,417 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:21:47,418 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 12:21:47,420 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:21:47,420 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) 8))) (and (<= .cse0 |main_#t~mem9|) (<= 10 .cse0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:21:47,421 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:21:47,488 INFO L256 TraceCheckUtils]: 0: Hoare triple {3366#true} call ULTIMATE.init(); {3366#true} is VALID [2018-11-23 12:21:47,488 INFO L273 TraceCheckUtils]: 1: Hoare triple {3366#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3366#true} is VALID [2018-11-23 12:21:47,488 INFO L273 TraceCheckUtils]: 2: Hoare triple {3366#true} assume true; {3366#true} is VALID [2018-11-23 12:21:47,489 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3366#true} {3366#true} #93#return; {3366#true} is VALID [2018-11-23 12:21:47,489 INFO L256 TraceCheckUtils]: 4: Hoare triple {3366#true} call #t~ret10 := main(); {3366#true} is VALID [2018-11-23 12:21:47,489 INFO L273 TraceCheckUtils]: 5: Hoare triple {3366#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3366#true} is VALID [2018-11-23 12:21:47,493 INFO L273 TraceCheckUtils]: 6: Hoare triple {3366#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {3404#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,494 INFO L273 TraceCheckUtils]: 7: Hoare triple {3404#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,495 INFO L273 TraceCheckUtils]: 8: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,495 INFO L273 TraceCheckUtils]: 9: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,496 INFO L273 TraceCheckUtils]: 10: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,496 INFO L273 TraceCheckUtils]: 11: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,497 INFO L273 TraceCheckUtils]: 12: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,498 INFO L273 TraceCheckUtils]: 13: Hoare triple {3408#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,499 INFO L273 TraceCheckUtils]: 14: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,500 INFO L273 TraceCheckUtils]: 15: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,501 INFO L273 TraceCheckUtils]: 16: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,502 INFO L273 TraceCheckUtils]: 17: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,503 INFO L273 TraceCheckUtils]: 18: Hoare triple {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,504 INFO L273 TraceCheckUtils]: 19: Hoare triple {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,523 INFO L273 TraceCheckUtils]: 20: Hoare triple {3440#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,538 INFO L273 TraceCheckUtils]: 21: Hoare triple {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,552 INFO L256 TraceCheckUtils]: 22: Hoare triple {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,560 INFO L273 TraceCheckUtils]: 23: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} ~cond := #in~cond; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,576 INFO L273 TraceCheckUtils]: 24: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} assume !(0 == ~cond); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,576 INFO L273 TraceCheckUtils]: 25: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} assume true; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,577 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #97#return; {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,578 INFO L273 TraceCheckUtils]: 27: Hoare triple {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,578 INFO L273 TraceCheckUtils]: 28: Hoare triple {3450#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,580 INFO L273 TraceCheckUtils]: 29: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,581 INFO L256 TraceCheckUtils]: 30: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,582 INFO L273 TraceCheckUtils]: 31: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} ~cond := #in~cond; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,582 INFO L273 TraceCheckUtils]: 32: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} assume !(0 == ~cond); {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,583 INFO L273 TraceCheckUtils]: 33: Hoare triple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} assume true; {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} is VALID [2018-11-23 12:21:47,583 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3457#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) 8)))} {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #97#return; {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,584 INFO L273 TraceCheckUtils]: 35: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,584 INFO L273 TraceCheckUtils]: 36: Hoare triple {3427#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3500#(and (= main_~i~0 2) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,586 INFO L273 TraceCheckUtils]: 37: Hoare triple {3500#(and (= main_~i~0 2) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3504#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:21:47,587 INFO L256 TraceCheckUtils]: 38: Hoare triple {3504#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {3508#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:21:47,587 INFO L273 TraceCheckUtils]: 39: Hoare triple {3508#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3512#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:21:47,588 INFO L273 TraceCheckUtils]: 40: Hoare triple {3512#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3367#false} is VALID [2018-11-23 12:21:47,588 INFO L273 TraceCheckUtils]: 41: Hoare triple {3367#false} assume !false; {3367#false} is VALID [2018-11-23 12:21:47,594 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:21:47,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:21:47,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12] total 27 [2018-11-23 12:21:47,614 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 42 [2018-11-23 12:21:47,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:21:47,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:21:47,709 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:21:47,709 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:21:47,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:21:47,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=625, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:21:47,710 INFO L87 Difference]: Start difference. First operand 168 states and 215 transitions. Second operand 27 states. [2018-11-23 12:22:02,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:02,919 INFO L93 Difference]: Finished difference Result 280 states and 353 transitions. [2018-11-23 12:22:02,920 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2018-11-23 12:22:02,920 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 42 [2018-11-23 12:22:02,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:02,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:02,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 183 transitions. [2018-11-23 12:22:02,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:22:02,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 183 transitions. [2018-11-23 12:22:02,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states and 183 transitions. [2018-11-23 12:22:03,708 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:03,716 INFO L225 Difference]: With dead ends: 280 [2018-11-23 12:22:03,716 INFO L226 Difference]: Without dead ends: 278 [2018-11-23 12:22:03,718 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 36 SyntacticMatches, 6 SemanticMatches, 58 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 894 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=505, Invalid=3035, Unknown=0, NotChecked=0, Total=3540 [2018-11-23 12:22:03,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2018-11-23 12:22:04,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 181. [2018-11-23 12:22:04,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:04,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 278 states. Second operand 181 states. [2018-11-23 12:22:04,222 INFO L74 IsIncluded]: Start isIncluded. First operand 278 states. Second operand 181 states. [2018-11-23 12:22:04,222 INFO L87 Difference]: Start difference. First operand 278 states. Second operand 181 states. [2018-11-23 12:22:04,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:04,234 INFO L93 Difference]: Finished difference Result 278 states and 351 transitions. [2018-11-23 12:22:04,234 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 351 transitions. [2018-11-23 12:22:04,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:04,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:04,235 INFO L74 IsIncluded]: Start isIncluded. First operand 181 states. Second operand 278 states. [2018-11-23 12:22:04,235 INFO L87 Difference]: Start difference. First operand 181 states. Second operand 278 states. [2018-11-23 12:22:04,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:04,247 INFO L93 Difference]: Finished difference Result 278 states and 351 transitions. [2018-11-23 12:22:04,247 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 351 transitions. [2018-11-23 12:22:04,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:04,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:04,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:04,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:04,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 181 states. [2018-11-23 12:22:04,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 239 transitions. [2018-11-23 12:22:04,256 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 239 transitions. Word has length 42 [2018-11-23 12:22:04,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:04,256 INFO L480 AbstractCegarLoop]: Abstraction has 181 states and 239 transitions. [2018-11-23 12:22:04,256 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:22:04,256 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 239 transitions. [2018-11-23 12:22:04,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 12:22:04,257 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:04,258 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:04,258 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:04,258 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:04,258 INFO L82 PathProgramCache]: Analyzing trace with hash -993659310, now seen corresponding path program 1 times [2018-11-23 12:22:04,258 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:04,258 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:04,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:04,259 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:04,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:04,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:04,757 WARN L180 SmtUtils]: Spent 257.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 7 [2018-11-23 12:22:05,561 INFO L256 TraceCheckUtils]: 0: Hoare triple {4718#true} call ULTIMATE.init(); {4718#true} is VALID [2018-11-23 12:22:05,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {4718#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4718#true} is VALID [2018-11-23 12:22:05,562 INFO L273 TraceCheckUtils]: 2: Hoare triple {4718#true} assume true; {4718#true} is VALID [2018-11-23 12:22:05,562 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4718#true} {4718#true} #93#return; {4718#true} is VALID [2018-11-23 12:22:05,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {4718#true} call #t~ret10 := main(); {4718#true} is VALID [2018-11-23 12:22:05,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {4718#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4718#true} is VALID [2018-11-23 12:22:05,564 INFO L273 TraceCheckUtils]: 6: Hoare triple {4718#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {4720#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,564 INFO L273 TraceCheckUtils]: 7: Hoare triple {4720#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-23 12:22:05,572 INFO L273 TraceCheckUtils]: 8: Hoare triple {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-23 12:22:05,572 INFO L273 TraceCheckUtils]: 9: Hoare triple {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-23 12:22:05,573 INFO L273 TraceCheckUtils]: 10: Hoare triple {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-23 12:22:05,574 INFO L273 TraceCheckUtils]: 11: Hoare triple {4721#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,574 INFO L273 TraceCheckUtils]: 12: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,575 INFO L273 TraceCheckUtils]: 13: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,575 INFO L273 TraceCheckUtils]: 14: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,576 INFO L273 TraceCheckUtils]: 15: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,577 INFO L273 TraceCheckUtils]: 16: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,578 INFO L273 TraceCheckUtils]: 17: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,579 INFO L273 TraceCheckUtils]: 18: Hoare triple {4722#(and (= main_~i~0 1) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,580 INFO L273 TraceCheckUtils]: 19: Hoare triple {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,581 INFO L273 TraceCheckUtils]: 20: Hoare triple {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-23 12:22:05,582 INFO L273 TraceCheckUtils]: 21: Hoare triple {4723#(and (not (= (* 20 main_~i~0) 20)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {4724#(not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 16)) main_~value~0) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,583 INFO L273 TraceCheckUtils]: 22: Hoare triple {4724#(not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 16)) main_~value~0) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,584 INFO L273 TraceCheckUtils]: 23: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,585 INFO L273 TraceCheckUtils]: 24: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,585 INFO L273 TraceCheckUtils]: 25: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,589 INFO L273 TraceCheckUtils]: 26: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,589 INFO L273 TraceCheckUtils]: 27: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,590 INFO L273 TraceCheckUtils]: 28: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,592 INFO L273 TraceCheckUtils]: 29: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,592 INFO L273 TraceCheckUtils]: 30: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,592 INFO L273 TraceCheckUtils]: 31: Hoare triple {4725#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0))} ~i~0 := 0; {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,593 INFO L273 TraceCheckUtils]: 32: Hoare triple {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,593 INFO L256 TraceCheckUtils]: 33: Hoare triple {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {4718#true} is VALID [2018-11-23 12:22:05,593 INFO L273 TraceCheckUtils]: 34: Hoare triple {4718#true} ~cond := #in~cond; {4718#true} is VALID [2018-11-23 12:22:05,593 INFO L273 TraceCheckUtils]: 35: Hoare triple {4718#true} assume !(0 == ~cond); {4718#true} is VALID [2018-11-23 12:22:05,594 INFO L273 TraceCheckUtils]: 36: Hoare triple {4718#true} assume true; {4718#true} is VALID [2018-11-23 12:22:05,594 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4718#true} {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #97#return; {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,595 INFO L273 TraceCheckUtils]: 38: Hoare triple {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} havoc #t~mem9; {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:05,595 INFO L273 TraceCheckUtils]: 39: Hoare triple {4726#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 16)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {4727#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,596 INFO L273 TraceCheckUtils]: 40: Hoare triple {4727#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4728#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} is VALID [2018-11-23 12:22:05,597 INFO L256 TraceCheckUtils]: 41: Hoare triple {4728#(not (= |main_#t~mem9| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {4729#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:05,597 INFO L273 TraceCheckUtils]: 42: Hoare triple {4729#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4730#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:05,598 INFO L273 TraceCheckUtils]: 43: Hoare triple {4730#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4719#false} is VALID [2018-11-23 12:22:05,598 INFO L273 TraceCheckUtils]: 44: Hoare triple {4719#false} assume !false; {4719#false} is VALID [2018-11-23 12:22:05,604 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:05,604 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:05,605 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-23 12:22:05,614 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:05,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:05,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:05,654 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:05,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:05,774 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:05,779 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,784 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,798 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,799 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-23 12:22:05,803 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:05,803 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, main_~FIXEDVAL~0]. (and (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_44| |main_~#a~0.base| (store (select |v_#memory_int_44| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~FIXEDVAL~0))) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:05,803 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:05,854 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:05,861 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:05,865 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:05,873 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,880 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,893 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,893 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:22:05,897 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:05,898 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_45| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= (store |v_#memory_int_45| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 12)) main_~value~0)) |#memory_int|) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:05,898 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:05,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:05,952 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:05,955 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:05,958 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,966 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,979 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:05,979 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:22:05,988 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:05,988 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_46| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (= |#memory_int| (store |v_#memory_int_46| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 8)) main_~value~0))) (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:05,988 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,009 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-23 12:22:06,015 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 39 [2018-11-23 12:22:06,021 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,029 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,063 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,064 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-23 12:22:06,068 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,068 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_47| |main_~#a~0.base|)) (.cse1 (* 20 main_~i~0))) (and (<= 10 (select .cse0 (+ .cse1 |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_47| |main_~#a~0.base| (store .cse0 (+ .cse1 |main_~#a~0.offset| (- 4)) main_~value~0))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,069 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-23 12:22:06,130 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,133 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 33 [2018-11-23 12:22:06,137 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,146 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,159 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,160 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:22:06,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,164 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_48| |main_~#a~0.base|))) (and (<= 2 main_~i~0) (= |#memory_int| (store |v_#memory_int_48| |main_~#a~0.base| (store .cse0 (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 20)) main_~value~0))) (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,164 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-23 12:22:06,194 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,197 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 33 [2018-11-23 12:22:06,201 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,208 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,221 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,222 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:22:06,227 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,227 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_49| |main_~#a~0.base|))) (and (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (<= 2 main_~i~0) (= |#memory_int| (store |v_#memory_int_49| |main_~#a~0.base| (store .cse0 (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)) main_~value~0))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,227 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,252 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-23 12:22:06,261 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 33 [2018-11-23 12:22:06,286 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,294 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,307 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,308 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:22:06,312 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,312 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_50| |main_~#a~0.base|))) (and (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (<= 2 main_~i~0) (= |#memory_int| (store |v_#memory_int_50| |main_~#a~0.base| (store .cse0 (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 12)) main_~value~0))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,312 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,568 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-23 12:22:06,649 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,672 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 33 [2018-11-23 12:22:06,706 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,800 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,813 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,813 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-23 12:22:06,818 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,818 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_51| |main_~#a~0.base|))) (and (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (<= 2 main_~i~0) (= |#memory_int| (store |v_#memory_int_51| |main_~#a~0.base| (store .cse0 (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8)) main_~value~0))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,819 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:06,843 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-23 12:22:06,851 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:06,854 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 33 [2018-11-23 12:22:06,858 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,867 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,881 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:06,881 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:35, output treesize:16 [2018-11-23 12:22:06,885 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:06,885 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_52|, main_~i~0, main_~value~0]. (let ((.cse0 (select |v_#memory_int_52| |main_~#a~0.base|))) (and (<= 2 main_~i~0) (= |#memory_int| (store |v_#memory_int_52| |main_~#a~0.base| (store .cse0 (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 4)) main_~value~0))) (<= 10 (select .cse0 (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:06,885 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:07,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:22:07,118 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-23 12:22:07,121 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,124 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,128 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:07,128 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-23 12:22:07,131 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:07,131 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) 4))) (and (<= .cse0 |main_#t~mem9|) (<= 10 .cse0) (<= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:07,131 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:07,190 INFO L256 TraceCheckUtils]: 0: Hoare triple {4718#true} call ULTIMATE.init(); {4718#true} is VALID [2018-11-23 12:22:07,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {4718#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4718#true} is VALID [2018-11-23 12:22:07,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {4718#true} assume true; {4718#true} is VALID [2018-11-23 12:22:07,191 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4718#true} {4718#true} #93#return; {4718#true} is VALID [2018-11-23 12:22:07,191 INFO L256 TraceCheckUtils]: 4: Hoare triple {4718#true} call #t~ret10 := main(); {4718#true} is VALID [2018-11-23 12:22:07,191 INFO L273 TraceCheckUtils]: 5: Hoare triple {4718#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4718#true} is VALID [2018-11-23 12:22:07,192 INFO L273 TraceCheckUtils]: 6: Hoare triple {4718#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {4752#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,192 INFO L273 TraceCheckUtils]: 7: Hoare triple {4752#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,193 INFO L273 TraceCheckUtils]: 8: Hoare triple {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,193 INFO L273 TraceCheckUtils]: 9: Hoare triple {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,194 INFO L273 TraceCheckUtils]: 10: Hoare triple {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,195 INFO L273 TraceCheckUtils]: 11: Hoare triple {4756#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,196 INFO L273 TraceCheckUtils]: 12: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,197 INFO L273 TraceCheckUtils]: 13: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,199 INFO L273 TraceCheckUtils]: 15: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,200 INFO L273 TraceCheckUtils]: 16: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,201 INFO L273 TraceCheckUtils]: 17: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,202 INFO L273 TraceCheckUtils]: 18: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,203 INFO L273 TraceCheckUtils]: 19: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,204 INFO L273 TraceCheckUtils]: 20: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,205 INFO L273 TraceCheckUtils]: 21: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,206 INFO L273 TraceCheckUtils]: 22: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,207 INFO L273 TraceCheckUtils]: 23: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,208 INFO L273 TraceCheckUtils]: 24: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,209 INFO L273 TraceCheckUtils]: 25: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,211 INFO L273 TraceCheckUtils]: 26: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,211 INFO L273 TraceCheckUtils]: 27: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,213 INFO L273 TraceCheckUtils]: 28: Hoare triple {4791#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,213 INFO L273 TraceCheckUtils]: 29: Hoare triple {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,214 INFO L273 TraceCheckUtils]: 30: Hoare triple {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,215 INFO L273 TraceCheckUtils]: 31: Hoare triple {4822#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,216 INFO L273 TraceCheckUtils]: 32: Hoare triple {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,218 INFO L256 TraceCheckUtils]: 33: Hoare triple {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} is VALID [2018-11-23 12:22:07,218 INFO L273 TraceCheckUtils]: 34: Hoare triple {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} ~cond := #in~cond; {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} is VALID [2018-11-23 12:22:07,219 INFO L273 TraceCheckUtils]: 35: Hoare triple {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} assume !(0 == ~cond); {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} is VALID [2018-11-23 12:22:07,220 INFO L273 TraceCheckUtils]: 36: Hoare triple {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} assume true; {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} is VALID [2018-11-23 12:22:07,221 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4839#(exists ((|v_main_~#a~0.base_BEFORE_CALL_6| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_6|) 4)))} {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #97#return; {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,221 INFO L273 TraceCheckUtils]: 38: Hoare triple {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,223 INFO L273 TraceCheckUtils]: 39: Hoare triple {4832#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,224 INFO L273 TraceCheckUtils]: 40: Hoare triple {4769#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 16)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4861#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:07,225 INFO L256 TraceCheckUtils]: 41: Hoare triple {4861#(and (<= 10 |main_#t~mem9|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {4865#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:07,225 INFO L273 TraceCheckUtils]: 42: Hoare triple {4865#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4869#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:07,226 INFO L273 TraceCheckUtils]: 43: Hoare triple {4869#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4719#false} is VALID [2018-11-23 12:22:07,226 INFO L273 TraceCheckUtils]: 44: Hoare triple {4719#false} assume !false; {4719#false} is VALID [2018-11-23 12:22:07,233 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:22:07,252 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:07,252 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-23 12:22:07,252 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-23 12:22:07,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:07,253 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:22:07,351 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:07,352 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:22:07,352 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:22:07,352 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=433, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:22:07,353 INFO L87 Difference]: Start difference. First operand 181 states and 239 transitions. Second operand 23 states. [2018-11-23 12:22:10,060 WARN L180 SmtUtils]: Spent 327.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 18 [2018-11-23 12:22:14,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:14,548 INFO L93 Difference]: Finished difference Result 329 states and 408 transitions. [2018-11-23 12:22:14,548 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:22:14,548 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-23 12:22:14,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:22:14,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:22:14,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-23 12:22:14,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:22:14,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-23 12:22:14,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 154 transitions. [2018-11-23 12:22:14,819 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:22:14,830 INFO L225 Difference]: With dead ends: 329 [2018-11-23 12:22:14,830 INFO L226 Difference]: Without dead ends: 327 [2018-11-23 12:22:14,831 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 41 SyntacticMatches, 10 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 424 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=283, Invalid=1439, Unknown=0, NotChecked=0, Total=1722 [2018-11-23 12:22:14,832 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 327 states. [2018-11-23 12:22:15,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 327 to 111. [2018-11-23 12:22:15,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:22:15,233 INFO L82 GeneralOperation]: Start isEquivalent. First operand 327 states. Second operand 111 states. [2018-11-23 12:22:15,233 INFO L74 IsIncluded]: Start isIncluded. First operand 327 states. Second operand 111 states. [2018-11-23 12:22:15,233 INFO L87 Difference]: Start difference. First operand 327 states. Second operand 111 states. [2018-11-23 12:22:15,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:15,246 INFO L93 Difference]: Finished difference Result 327 states and 403 transitions. [2018-11-23 12:22:15,246 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 403 transitions. [2018-11-23 12:22:15,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:15,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:15,248 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 327 states. [2018-11-23 12:22:15,248 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 327 states. [2018-11-23 12:22:15,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:22:15,262 INFO L93 Difference]: Finished difference Result 327 states and 403 transitions. [2018-11-23 12:22:15,262 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 403 transitions. [2018-11-23 12:22:15,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:22:15,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:22:15,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:22:15,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:22:15,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 12:22:15,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 148 transitions. [2018-11-23 12:22:15,268 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 148 transitions. Word has length 45 [2018-11-23 12:22:15,268 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:22:15,268 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 148 transitions. [2018-11-23 12:22:15,269 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:22:15,269 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 148 transitions. [2018-11-23 12:22:15,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:22:15,270 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:22:15,270 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:22:15,270 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:22:15,270 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:22:15,270 INFO L82 PathProgramCache]: Analyzing trace with hash 1672812236, now seen corresponding path program 3 times [2018-11-23 12:22:15,270 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:22:15,271 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:22:15,271 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:15,271 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:22:15,272 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:22:15,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:15,694 WARN L180 SmtUtils]: Spent 175.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 3 [2018-11-23 12:22:16,330 WARN L180 SmtUtils]: Spent 182.00 ms on a formula simplification. DAG size of input: 44 DAG size of output: 30 [2018-11-23 12:22:16,634 INFO L256 TraceCheckUtils]: 0: Hoare triple {6107#true} call ULTIMATE.init(); {6107#true} is VALID [2018-11-23 12:22:16,635 INFO L273 TraceCheckUtils]: 1: Hoare triple {6107#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6107#true} is VALID [2018-11-23 12:22:16,635 INFO L273 TraceCheckUtils]: 2: Hoare triple {6107#true} assume true; {6107#true} is VALID [2018-11-23 12:22:16,635 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6107#true} {6107#true} #93#return; {6107#true} is VALID [2018-11-23 12:22:16,635 INFO L256 TraceCheckUtils]: 4: Hoare triple {6107#true} call #t~ret10 := main(); {6107#true} is VALID [2018-11-23 12:22:16,635 INFO L273 TraceCheckUtils]: 5: Hoare triple {6107#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6107#true} is VALID [2018-11-23 12:22:16,636 INFO L273 TraceCheckUtils]: 6: Hoare triple {6107#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {6109#(<= 2 ~SIZE~0)} is VALID [2018-11-23 12:22:16,637 INFO L273 TraceCheckUtils]: 7: Hoare triple {6109#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,638 INFO L273 TraceCheckUtils]: 8: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,639 INFO L273 TraceCheckUtils]: 9: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,640 INFO L273 TraceCheckUtils]: 10: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,641 INFO L273 TraceCheckUtils]: 11: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,642 INFO L273 TraceCheckUtils]: 12: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,642 INFO L273 TraceCheckUtils]: 13: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,643 INFO L273 TraceCheckUtils]: 14: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} is VALID [2018-11-23 12:22:16,644 INFO L273 TraceCheckUtils]: 15: Hoare triple {6110#(and (= main_~i~0 1) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:22:16,645 INFO L273 TraceCheckUtils]: 16: Hoare triple {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:22:16,647 INFO L273 TraceCheckUtils]: 17: Hoare triple {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} is VALID [2018-11-23 12:22:16,648 INFO L273 TraceCheckUtils]: 18: Hoare triple {6111#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 20 main_~i~0) (- 8))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6112#(and (or (<= (* 5 main_~i~0) 9) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8))))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= (* 5 main_~i~0) 10))} is VALID [2018-11-23 12:22:16,650 INFO L273 TraceCheckUtils]: 19: Hoare triple {6112#(and (or (<= (* 5 main_~i~0) 9) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8))))))) (<= 2 ~SIZE~0) (= ~SIZE~0 (* 5 (div ~SIZE~0 5))) (<= (* 5 main_~i~0) 10))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {6113#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:22:16,650 INFO L273 TraceCheckUtils]: 20: Hoare triple {6113#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)))} ~i~0 := 0; {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:16,651 INFO L273 TraceCheckUtils]: 21: Hoare triple {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:16,652 INFO L256 TraceCheckUtils]: 22: Hoare triple {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6107#true} is VALID [2018-11-23 12:22:16,652 INFO L273 TraceCheckUtils]: 23: Hoare triple {6107#true} ~cond := #in~cond; {6107#true} is VALID [2018-11-23 12:22:16,652 INFO L273 TraceCheckUtils]: 24: Hoare triple {6107#true} assume !(0 == ~cond); {6107#true} is VALID [2018-11-23 12:22:16,652 INFO L273 TraceCheckUtils]: 25: Hoare triple {6107#true} assume true; {6107#true} is VALID [2018-11-23 12:22:16,654 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {6107#true} {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #97#return; {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:16,654 INFO L273 TraceCheckUtils]: 27: Hoare triple {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} havoc #t~mem9; {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} is VALID [2018-11-23 12:22:16,656 INFO L273 TraceCheckUtils]: 28: Hoare triple {6114#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 5) (- 8)))))) (< 0 (div ~SIZE~0 5)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} is VALID [2018-11-23 12:22:16,656 INFO L273 TraceCheckUtils]: 29: Hoare triple {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} is VALID [2018-11-23 12:22:16,657 INFO L256 TraceCheckUtils]: 30: Hoare triple {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6107#true} is VALID [2018-11-23 12:22:16,657 INFO L273 TraceCheckUtils]: 31: Hoare triple {6107#true} ~cond := #in~cond; {6107#true} is VALID [2018-11-23 12:22:16,657 INFO L273 TraceCheckUtils]: 32: Hoare triple {6107#true} assume !(0 == ~cond); {6107#true} is VALID [2018-11-23 12:22:16,657 INFO L273 TraceCheckUtils]: 33: Hoare triple {6107#true} assume true; {6107#true} is VALID [2018-11-23 12:22:16,658 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6107#true} {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} #97#return; {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} is VALID [2018-11-23 12:22:16,659 INFO L273 TraceCheckUtils]: 35: Hoare triple {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} havoc #t~mem9; {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} is VALID [2018-11-23 12:22:16,660 INFO L273 TraceCheckUtils]: 36: Hoare triple {6115#(and (<= (* 5 (div ~SIZE~0 5)) 5) (< 0 (div ~SIZE~0 5)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 4)) (- 8)))))))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:22:16,661 INFO L273 TraceCheckUtils]: 37: Hoare triple {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:22:16,662 INFO L256 TraceCheckUtils]: 38: Hoare triple {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6107#true} is VALID [2018-11-23 12:22:16,662 INFO L273 TraceCheckUtils]: 39: Hoare triple {6107#true} ~cond := #in~cond; {6107#true} is VALID [2018-11-23 12:22:16,662 INFO L273 TraceCheckUtils]: 40: Hoare triple {6107#true} assume !(0 == ~cond); {6107#true} is VALID [2018-11-23 12:22:16,662 INFO L273 TraceCheckUtils]: 41: Hoare triple {6107#true} assume true; {6107#true} is VALID [2018-11-23 12:22:16,663 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6107#true} {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} #97#return; {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:22:16,664 INFO L273 TraceCheckUtils]: 43: Hoare triple {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} havoc #t~mem9; {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} is VALID [2018-11-23 12:22:16,666 INFO L273 TraceCheckUtils]: 44: Hoare triple {6116#(and (<= (* 5 (div ~SIZE~0 5)) 5) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (< 0 (div ~SIZE~0 5)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6117#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-23 12:22:16,666 INFO L273 TraceCheckUtils]: 45: Hoare triple {6117#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6118#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} is VALID [2018-11-23 12:22:16,667 INFO L256 TraceCheckUtils]: 46: Hoare triple {6118#(not (= main_~DEFAULTVAL~0 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6119#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 12:22:16,668 INFO L273 TraceCheckUtils]: 47: Hoare triple {6119#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6120#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 12:22:16,668 INFO L273 TraceCheckUtils]: 48: Hoare triple {6120#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6108#false} is VALID [2018-11-23 12:22:16,668 INFO L273 TraceCheckUtils]: 49: Hoare triple {6108#false} assume !false; {6108#false} is VALID [2018-11-23 12:22:16,676 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 6 proven. 19 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:16,676 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:22:16,676 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-23 12:22:16,687 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:22:16,721 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:22:16,721 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:22:16,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:22:16,737 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:22:16,831 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 12:22:16,836 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-23 12:22:16,840 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,842 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,854 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,854 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-23 12:22:16,859 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:16,859 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, main_~value~0]. (and (not (= main_~value~0 main_~DEFAULTVAL~0)) (= main_~i~0 1) (= |#memory_int| (store |v_#memory_int_53| |main_~#a~0.base| (store (select |v_#memory_int_53| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8)) main_~value~0))) (= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:16,859 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:16,938 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 19 [2018-11-23 12:22:16,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:22:16,947 INFO L478 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 19 treesize of output 28 [2018-11-23 12:22:16,950 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,957 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,966 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:16,966 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:14 [2018-11-23 12:22:16,970 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:16,971 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, main_~value~0]. (let ((.cse0 (select |v_#memory_int_54| |main_~#a~0.base|))) (and (= |#memory_int| (store |v_#memory_int_54| |main_~#a~0.base| (store .cse0 (+ |main_~#a~0.offset| 16) main_~value~0))) (not (= (select .cse0 (+ |main_~#a~0.offset| 12)) main_~DEFAULTVAL~0)) (= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:16,971 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:19,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 16 [2018-11-23 12:22:19,399 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 4 [2018-11-23 12:22:19,400 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:22:19,402 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:19,408 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:22:19,408 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:23, output treesize:8 [2018-11-23 12:22:19,411 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:22:19,411 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, |main_~#a~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (and (= |main_#t~mem9| .cse0) (not (= main_~DEFAULTVAL~0 .cse0)) (= main_~DEFAULTVAL~0 0))) [2018-11-23 12:22:19,411 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)) (= main_~DEFAULTVAL~0 0)) [2018-11-23 12:22:19,509 INFO L256 TraceCheckUtils]: 0: Hoare triple {6107#true} call ULTIMATE.init(); {6107#true} is VALID [2018-11-23 12:22:19,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {6107#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6107#true} is VALID [2018-11-23 12:22:19,509 INFO L273 TraceCheckUtils]: 2: Hoare triple {6107#true} assume true; {6107#true} is VALID [2018-11-23 12:22:19,510 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6107#true} {6107#true} #93#return; {6107#true} is VALID [2018-11-23 12:22:19,510 INFO L256 TraceCheckUtils]: 4: Hoare triple {6107#true} call #t~ret10 := main(); {6107#true} is VALID [2018-11-23 12:22:19,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {6107#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6107#true} is VALID [2018-11-23 12:22:19,511 INFO L273 TraceCheckUtils]: 6: Hoare triple {6107#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(4 * ~SIZE~0);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {6142#(= main_~DEFAULTVAL~0 0)} is VALID [2018-11-23 12:22:19,511 INFO L273 TraceCheckUtils]: 7: Hoare triple {6142#(= main_~DEFAULTVAL~0 0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then ~SIZE~0 % 5 - 5 else ~SIZE~0 % 5) then 1 else 0);~i~0 := 1; {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,512 INFO L273 TraceCheckUtils]: 8: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,513 INFO L273 TraceCheckUtils]: 9: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 5), 4); {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,514 INFO L273 TraceCheckUtils]: 10: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,515 INFO L273 TraceCheckUtils]: 11: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 4), 4); {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,515 INFO L273 TraceCheckUtils]: 12: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,516 INFO L273 TraceCheckUtils]: 13: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 3), 4); {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,517 INFO L273 TraceCheckUtils]: 14: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,518 INFO L273 TraceCheckUtils]: 15: Hoare triple {6146#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 2), 4); {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,519 INFO L273 TraceCheckUtils]: 16: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} call #t~ret7 := ReadFromPort();assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~value~0 := #t~ret7;havoc #t~ret7; {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,534 INFO L273 TraceCheckUtils]: 17: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (5 * ~i~0 - 1), 4); {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,535 INFO L273 TraceCheckUtils]: 18: Hoare triple {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,535 INFO L273 TraceCheckUtils]: 19: Hoare triple {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 5 then 1 + ~SIZE~0 / 5 else ~SIZE~0 / 5)); {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,536 INFO L273 TraceCheckUtils]: 20: Hoare triple {6178#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,536 INFO L273 TraceCheckUtils]: 21: Hoare triple {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,538 INFO L256 TraceCheckUtils]: 22: Hoare triple {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,539 INFO L273 TraceCheckUtils]: 23: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} ~cond := #in~cond; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,539 INFO L273 TraceCheckUtils]: 24: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume !(0 == ~cond); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,540 INFO L273 TraceCheckUtils]: 25: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume true; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,541 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} #97#return; {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,541 INFO L273 TraceCheckUtils]: 27: Hoare triple {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,542 INFO L273 TraceCheckUtils]: 28: Hoare triple {6188#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~i~0 0) (= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,543 INFO L273 TraceCheckUtils]: 29: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,545 INFO L256 TraceCheckUtils]: 30: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,545 INFO L273 TraceCheckUtils]: 31: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} ~cond := #in~cond; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,546 INFO L273 TraceCheckUtils]: 32: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume !(0 == ~cond); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,547 INFO L273 TraceCheckUtils]: 33: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume true; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,547 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} #97#return; {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,548 INFO L273 TraceCheckUtils]: 35: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,549 INFO L273 TraceCheckUtils]: 36: Hoare triple {6171#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 20 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,550 INFO L273 TraceCheckUtils]: 37: Hoare triple {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,552 INFO L256 TraceCheckUtils]: 38: Hoare triple {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,552 INFO L273 TraceCheckUtils]: 39: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} ~cond := #in~cond; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,553 INFO L273 TraceCheckUtils]: 40: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume !(0 == ~cond); {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,553 INFO L273 TraceCheckUtils]: 41: Hoare triple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} assume true; {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} is VALID [2018-11-23 12:22:19,554 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {6195#(exists ((|v_main_~#a~0.offset_BEFORE_CALL_7| Int) (|v_main_~#a~0.base_BEFORE_CALL_7| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (+ |v_main_~#a~0.offset_BEFORE_CALL_7| 12)) 0)))} {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} #97#return; {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,555 INFO L273 TraceCheckUtils]: 43: Hoare triple {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} havoc #t~mem9; {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,556 INFO L273 TraceCheckUtils]: 44: Hoare triple {6238#(and (= main_~i~0 2) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {6263#(and (= main_~i~0 3) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-23 12:22:19,557 INFO L273 TraceCheckUtils]: 45: Hoare triple {6263#(and (= main_~i~0 3) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {6267#(and (= main_~DEFAULTVAL~0 0) (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)))} is VALID [2018-11-23 12:22:19,558 INFO L256 TraceCheckUtils]: 46: Hoare triple {6267#(and (= main_~DEFAULTVAL~0 0) (not (= main_~DEFAULTVAL~0 |main_#t~mem9|)))} call __VERIFIER_assert((if #t~mem9 != ~DEFAULTVAL~0 then 1 else 0)); {6271#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:22:19,559 INFO L273 TraceCheckUtils]: 47: Hoare triple {6271#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {6275#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:22:19,559 INFO L273 TraceCheckUtils]: 48: Hoare triple {6275#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6108#false} is VALID [2018-11-23 12:22:19,559 INFO L273 TraceCheckUtils]: 49: Hoare triple {6108#false} assume !false; {6108#false} is VALID [2018-11-23 12:22:19,567 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:22:19,587 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:22:19,587 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-23 12:22:19,587 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 50 [2018-11-23 12:22:19,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:22:19,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:22:19,690 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-23 12:22:19,690 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:22:19,691 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:22:19,691 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=520, Unknown=1, NotChecked=0, Total=600 [2018-11-23 12:22:19,691 INFO L87 Difference]: Start difference. First operand 111 states and 148 transitions. Second operand 25 states. [2018-11-23 12:23:20,809 WARN L180 SmtUtils]: Spent 2.02 s on a formula simplification that was a NOOP. DAG size: 33