java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/pnr4_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:11:08,240 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:11:08,242 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:11:08,254 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:11:08,255 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:11:08,256 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:11:08,257 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:11:08,259 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:11:08,261 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:11:08,262 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:11:08,263 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:11:08,263 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:11:08,264 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:11:08,265 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:11:08,266 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:11:08,267 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:11:08,268 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:11:08,270 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:11:08,272 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:11:08,274 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:11:08,275 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:11:08,276 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:11:08,278 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:11:08,279 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:11:08,279 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:11:08,280 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:11:08,281 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:11:08,282 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:11:08,283 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:11:08,284 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:11:08,284 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:11:08,285 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:11:08,285 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:11:08,285 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:11:08,286 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:11:08,287 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:11:08,287 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-18 23:11:08,314 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:11:08,315 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:11:08,315 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:11:08,316 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:11:08,316 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:11:08,317 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:11:08,317 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:11:08,317 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:11:08,317 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:11:08,317 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:11:08,318 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:11:08,319 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:11:08,319 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:11:08,319 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:11:08,319 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:11:08,320 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:11:08,320 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:11:08,320 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:11:08,320 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:11:08,320 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:11:08,322 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:11:08,322 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:11:08,322 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:11:08,322 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:11:08,323 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:11:08,323 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:11:08,323 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:11:08,323 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:11:08,323 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:11:08,324 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:11:08,324 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:11:08,396 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:11:08,416 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:11:08,421 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:11:08,422 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:11:08,423 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:11:08,423 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/pnr4_true-unreach-call.i [2018-11-18 23:11:08,494 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b73cf115/a23fa06921d64a2bb2db3dc4ee678fd0/FLAG4c2777145 [2018-11-18 23:11:08,953 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:11:08,954 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pnr4_true-unreach-call.i [2018-11-18 23:11:08,961 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b73cf115/a23fa06921d64a2bb2db3dc4ee678fd0/FLAG4c2777145 [2018-11-18 23:11:09,316 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7b73cf115/a23fa06921d64a2bb2db3dc4ee678fd0 [2018-11-18 23:11:09,328 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:11:09,330 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:11:09,331 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:11:09,331 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:11:09,335 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:11:09,336 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,339 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@18f831f8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09, skipping insertion in model container [2018-11-18 23:11:09,339 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,350 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:11:09,376 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:11:09,675 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:11:09,681 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:11:09,735 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:11:09,765 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:11:09,765 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09 WrapperNode [2018-11-18 23:11:09,765 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:11:09,766 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:11:09,766 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:11:09,767 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:11:09,782 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,782 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,793 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,793 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,817 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,833 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,835 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (1/1) ... [2018-11-18 23:11:09,838 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:11:09,840 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:11:09,840 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:11:09,840 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:11:09,841 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (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-18 23:11:09,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:11:09,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:11:09,970 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-18 23:11:09,970 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:11:09,970 INFO L130 BoogieDeclarations]: Found specification of procedure ReadFromPort [2018-11-18 23:11:09,970 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:11:09,971 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:11:09,972 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:11:09,972 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:11:09,972 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:11:09,972 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:11:09,972 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:11:10,947 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:11:10,948 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:11:10 BoogieIcfgContainer [2018-11-18 23:11:10,948 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:11:10,949 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:11:10,949 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:11:10,952 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:11:10,952 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:11:09" (1/3) ... [2018-11-18 23:11:10,953 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5504ee13 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:11:10, skipping insertion in model container [2018-11-18 23:11:10,953 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:11:09" (2/3) ... [2018-11-18 23:11:10,954 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5504ee13 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:11:10, skipping insertion in model container [2018-11-18 23:11:10,954 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:11:10" (3/3) ... [2018-11-18 23:11:10,956 INFO L112 eAbstractionObserver]: Analyzing ICFG pnr4_true-unreach-call.i [2018-11-18 23:11:10,967 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:11:10,976 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:11:10,992 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:11:11,026 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:11:11,026 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:11:11,027 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:11:11,027 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:11:11,027 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:11:11,028 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:11:11,028 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:11:11,028 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:11:11,028 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:11:11,051 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-18 23:11:11,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-18 23:11:11,057 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:11,058 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:11,060 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:11,065 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:11,066 INFO L82 PathProgramCache]: Analyzing trace with hash -1590315128, now seen corresponding path program 1 times [2018-11-18 23:11:11,067 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:11,068 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:11,119 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:11,119 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:11,119 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:11,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:11,252 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-18 23:11:11,256 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-18 23:11:11,257 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-18 23:11:11,259 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #90#return; {39#true} is VALID [2018-11-18 23:11:11,259 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret9 := main(); {39#true} is VALID [2018-11-18 23:11:11,259 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-18 23:11:11,260 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; {39#true} is VALID [2018-11-18 23:11:11,260 INFO L273 TraceCheckUtils]: 7: Hoare triple {39#true} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {39#true} is VALID [2018-11-18 23:11:11,277 INFO L273 TraceCheckUtils]: 8: Hoare triple {39#true} assume !true; {40#false} is VALID [2018-11-18 23:11:11,277 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-18 23:11:11,278 INFO L273 TraceCheckUtils]: 10: Hoare triple {40#false} assume true; {40#false} is VALID [2018-11-18 23:11:11,278 INFO L273 TraceCheckUtils]: 11: Hoare triple {40#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {40#false} is VALID [2018-11-18 23:11:11,279 INFO L256 TraceCheckUtils]: 12: Hoare triple {40#false} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {40#false} is VALID [2018-11-18 23:11:11,279 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2018-11-18 23:11:11,279 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#false} assume 0 == ~cond; {40#false} is VALID [2018-11-18 23:11:11,279 INFO L273 TraceCheckUtils]: 15: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-18 23:11:11,284 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-18 23:11:11,286 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:11,287 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:11:11,292 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-18 23:11:11,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:11,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:11:11,391 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:11,391 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:11:11,399 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:11:11,399 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:11:11,402 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 2 states. [2018-11-18 23:11:11,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:11,533 INFO L93 Difference]: Finished difference Result 54 states and 67 transitions. [2018-11-18 23:11:11,534 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:11:11,534 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-18 23:11:11,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:11,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:11:11,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2018-11-18 23:11:11,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:11:11,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2018-11-18 23:11:11,552 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 67 transitions. [2018-11-18 23:11:11,813 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:11,826 INFO L225 Difference]: With dead ends: 54 [2018-11-18 23:11:11,826 INFO L226 Difference]: Without dead ends: 30 [2018-11-18 23:11:11,830 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:11:11,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-18 23:11:11,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-18 23:11:11,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:11,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-18 23:11:11,882 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-18 23:11:11,882 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-18 23:11:11,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:11,888 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-18 23:11:11,888 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:11:11,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:11,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:11,889 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-18 23:11:11,889 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-18 23:11:11,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:11,894 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-18 23:11:11,894 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:11:11,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:11,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:11,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:11,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:11,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-18 23:11:11,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-18 23:11:11,900 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 16 [2018-11-18 23:11:11,901 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:11,901 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-18 23:11:11,901 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:11:11,901 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-18 23:11:11,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-18 23:11:11,902 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:11,902 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:11,903 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:11,903 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:11,903 INFO L82 PathProgramCache]: Analyzing trace with hash -1770315169, now seen corresponding path program 1 times [2018-11-18 23:11:11,903 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:11,903 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:11,904 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:11,905 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:11,905 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:11,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:12,172 INFO L256 TraceCheckUtils]: 0: Hoare triple {206#true} call ULTIMATE.init(); {206#true} is VALID [2018-11-18 23:11:12,173 INFO L273 TraceCheckUtils]: 1: Hoare triple {206#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {206#true} is VALID [2018-11-18 23:11:12,173 INFO L273 TraceCheckUtils]: 2: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-18 23:11:12,174 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {206#true} {206#true} #90#return; {206#true} is VALID [2018-11-18 23:11:12,174 INFO L256 TraceCheckUtils]: 4: Hoare triple {206#true} call #t~ret9 := main(); {206#true} is VALID [2018-11-18 23:11:12,174 INFO L273 TraceCheckUtils]: 5: Hoare triple {206#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {206#true} is VALID [2018-11-18 23:11:12,187 INFO L273 TraceCheckUtils]: 6: Hoare triple {206#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; {208#(<= 2 ~SIZE~0)} is VALID [2018-11-18 23:11:12,200 INFO L273 TraceCheckUtils]: 7: Hoare triple {208#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {209#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:12,211 INFO L273 TraceCheckUtils]: 8: Hoare triple {209#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume true; {209#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:12,214 INFO L273 TraceCheckUtils]: 9: Hoare triple {209#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {207#false} is VALID [2018-11-18 23:11:12,214 INFO L273 TraceCheckUtils]: 10: Hoare triple {207#false} ~i~0 := 0; {207#false} is VALID [2018-11-18 23:11:12,215 INFO L273 TraceCheckUtils]: 11: Hoare triple {207#false} assume true; {207#false} is VALID [2018-11-18 23:11:12,215 INFO L273 TraceCheckUtils]: 12: Hoare triple {207#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {207#false} is VALID [2018-11-18 23:11:12,215 INFO L256 TraceCheckUtils]: 13: Hoare triple {207#false} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {207#false} is VALID [2018-11-18 23:11:12,215 INFO L273 TraceCheckUtils]: 14: Hoare triple {207#false} ~cond := #in~cond; {207#false} is VALID [2018-11-18 23:11:12,216 INFO L273 TraceCheckUtils]: 15: Hoare triple {207#false} assume 0 == ~cond; {207#false} is VALID [2018-11-18 23:11:12,216 INFO L273 TraceCheckUtils]: 16: Hoare triple {207#false} assume !false; {207#false} is VALID [2018-11-18 23:11:12,219 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-18 23:11:12,219 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:11:12,219 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-18 23:11:12,221 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-18 23:11:12,221 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:12,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-18 23:11:12,420 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:12,420 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-18 23:11:12,421 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-18 23:11:12,421 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-18 23:11:12,421 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 4 states. [2018-11-18 23:11:12,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:12,942 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-18 23:11:12,942 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-18 23:11:12,942 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-18 23:11:12,943 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:12,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:12,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2018-11-18 23:11:12,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-18 23:11:12,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2018-11-18 23:11:12,951 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 62 transitions. [2018-11-18 23:11:13,075 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:13,077 INFO L225 Difference]: With dead ends: 52 [2018-11-18 23:11:13,078 INFO L226 Difference]: Without dead ends: 40 [2018-11-18 23:11:13,079 INFO L604 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-18 23:11:13,079 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-18 23:11:13,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 32. [2018-11-18 23:11:13,101 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:13,101 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 32 states. [2018-11-18 23:11:13,102 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 32 states. [2018-11-18 23:11:13,102 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 32 states. [2018-11-18 23:11:13,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:13,106 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-18 23:11:13,106 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-18 23:11:13,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:13,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:13,107 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 40 states. [2018-11-18 23:11:13,107 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 40 states. [2018-11-18 23:11:13,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:13,111 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-18 23:11:13,111 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-18 23:11:13,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:13,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:13,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:13,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:13,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-18 23:11:13,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-18 23:11:13,115 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 17 [2018-11-18 23:11:13,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:13,115 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-18 23:11:13,115 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-18 23:11:13,116 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-18 23:11:13,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-18 23:11:13,117 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:13,117 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:13,117 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:13,117 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:13,118 INFO L82 PathProgramCache]: Analyzing trace with hash 1796115786, now seen corresponding path program 1 times [2018-11-18 23:11:13,118 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:13,118 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:13,119 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:13,119 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:13,119 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:13,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:14,036 INFO L256 TraceCheckUtils]: 0: Hoare triple {397#true} call ULTIMATE.init(); {397#true} is VALID [2018-11-18 23:11:14,037 INFO L273 TraceCheckUtils]: 1: Hoare triple {397#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {397#true} is VALID [2018-11-18 23:11:14,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {397#true} assume true; {397#true} is VALID [2018-11-18 23:11:14,038 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {397#true} {397#true} #90#return; {397#true} is VALID [2018-11-18 23:11:14,038 INFO L256 TraceCheckUtils]: 4: Hoare triple {397#true} call #t~ret9 := main(); {397#true} is VALID [2018-11-18 23:11:14,038 INFO L273 TraceCheckUtils]: 5: Hoare triple {397#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {397#true} is VALID [2018-11-18 23:11:14,039 INFO L273 TraceCheckUtils]: 6: Hoare triple {397#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; {399#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,040 INFO L273 TraceCheckUtils]: 7: Hoare triple {399#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,041 INFO L273 TraceCheckUtils]: 8: Hoare triple {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,042 INFO L273 TraceCheckUtils]: 9: Hoare triple {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,045 INFO L273 TraceCheckUtils]: 10: Hoare triple {400#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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 * (4 * ~i~0 - 4), 4); {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,046 INFO L273 TraceCheckUtils]: 11: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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; {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,047 INFO L273 TraceCheckUtils]: 12: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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 * (4 * ~i~0 - 3), 4); {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,048 INFO L273 TraceCheckUtils]: 13: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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; {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,049 INFO L273 TraceCheckUtils]: 14: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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 * (4 * ~i~0 - 2), 4); {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,051 INFO L273 TraceCheckUtils]: 15: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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; {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,057 INFO L273 TraceCheckUtils]: 16: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= 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 * (4 * ~i~0 - 1), 4); {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {401#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {402#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,062 INFO L273 TraceCheckUtils]: 18: Hoare triple {402#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0)))) (= |main_~#a~0.offset| 0))} assume true; {402#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,063 INFO L273 TraceCheckUtils]: 19: Hoare triple {402#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:14,064 INFO L273 TraceCheckUtils]: 20: Hoare triple {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {404#(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-18 23:11:14,065 INFO L273 TraceCheckUtils]: 21: Hoare triple {404#(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 true; {404#(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-18 23:11:14,071 INFO L273 TraceCheckUtils]: 22: Hoare triple {404#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:11:14,073 INFO L256 TraceCheckUtils]: 23: Hoare triple {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {406#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:11:14,073 INFO L273 TraceCheckUtils]: 24: Hoare triple {406#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {407#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:11:14,074 INFO L273 TraceCheckUtils]: 25: Hoare triple {407#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {398#false} is VALID [2018-11-18 23:11:14,074 INFO L273 TraceCheckUtils]: 26: Hoare triple {398#false} assume !false; {398#false} is VALID [2018-11-18 23:11:14,080 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:14,081 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:14,081 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-18 23:11:14,099 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:14,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:14,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:14,176 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:14,452 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:14,483 INFO L477 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-18 23:11:14,505 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,509 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,543 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-18 23:11:14,544 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-18 23:11:14,559 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:14,733 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:11:14,748 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:14,751 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-18 23:11:14,761 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,798 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,810 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-18 23:11:14,811 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-18 23:11:14,815 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:14,850 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:11:14,864 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:14,866 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-18 23:11:14,879 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,893 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:14,909 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-18 23:11:14,909 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-18 23:11:14,914 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:14,938 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 17 [2018-11-18 23:11:14,985 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:14,988 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 24 [2018-11-18 23:11:14,997 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:15,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:15,017 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-18 23:11:15,017 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:12 [2018-11-18 23:11:15,020 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:15,081 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-18 23:11:15,092 INFO L477 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-18 23:11:15,094 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:15,098 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:15,100 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-18 23:11:15,100 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-18 23:11:15,102 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:15,144 INFO L256 TraceCheckUtils]: 0: Hoare triple {397#true} call ULTIMATE.init(); {397#true} is VALID [2018-11-18 23:11:15,145 INFO L273 TraceCheckUtils]: 1: Hoare triple {397#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {397#true} is VALID [2018-11-18 23:11:15,145 INFO L273 TraceCheckUtils]: 2: Hoare triple {397#true} assume true; {397#true} is VALID [2018-11-18 23:11:15,145 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {397#true} {397#true} #90#return; {397#true} is VALID [2018-11-18 23:11:15,146 INFO L256 TraceCheckUtils]: 4: Hoare triple {397#true} call #t~ret9 := main(); {397#true} is VALID [2018-11-18 23:11:15,146 INFO L273 TraceCheckUtils]: 5: Hoare triple {397#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {397#true} is VALID [2018-11-18 23:11:15,147 INFO L273 TraceCheckUtils]: 6: Hoare triple {397#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; {429#(= |main_~#a~0.offset| 0)} is VALID [2018-11-18 23:11:15,148 INFO L273 TraceCheckUtils]: 7: Hoare triple {429#(= |main_~#a~0.offset| 0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,149 INFO L273 TraceCheckUtils]: 8: Hoare triple {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,150 INFO L273 TraceCheckUtils]: 9: Hoare triple {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,151 INFO L273 TraceCheckUtils]: 10: Hoare triple {433#(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 * (4 * ~i~0 - 4), 4); {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,152 INFO L273 TraceCheckUtils]: 11: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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; {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,153 INFO L273 TraceCheckUtils]: 12: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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 * (4 * ~i~0 - 3), 4); {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,155 INFO L273 TraceCheckUtils]: 13: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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; {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,157 INFO L273 TraceCheckUtils]: 14: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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 * (4 * ~i~0 - 2), 4); {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,159 INFO L273 TraceCheckUtils]: 15: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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; {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,160 INFO L273 TraceCheckUtils]: 16: Hoare triple {443#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (= 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 * (4 * ~i~0 - 1), 4); {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,161 INFO L273 TraceCheckUtils]: 17: Hoare triple {403#(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; {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,162 INFO L273 TraceCheckUtils]: 18: Hoare triple {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} assume true; {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,163 INFO L273 TraceCheckUtils]: 19: Hoare triple {403#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:15,165 INFO L273 TraceCheckUtils]: 20: Hoare triple {403#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) 0))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {404#(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-18 23:11:15,166 INFO L273 TraceCheckUtils]: 21: Hoare triple {404#(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 true; {404#(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-18 23:11:15,167 INFO L273 TraceCheckUtils]: 22: Hoare triple {404#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:11:15,168 INFO L256 TraceCheckUtils]: 23: Hoare triple {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {483#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:11:15,174 INFO L273 TraceCheckUtils]: 24: Hoare triple {483#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {487#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:11:15,174 INFO L273 TraceCheckUtils]: 25: Hoare triple {487#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {398#false} is VALID [2018-11-18 23:11:15,175 INFO L273 TraceCheckUtils]: 26: Hoare triple {398#false} assume !false; {398#false} is VALID [2018-11-18 23:11:15,177 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:15,198 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:15,198 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-18 23:11:15,199 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 27 [2018-11-18 23:11:15,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:15,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-18 23:11:15,325 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:15,325 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-18 23:11:15,325 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-18 23:11:15,326 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2018-11-18 23:11:15,327 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 16 states. [2018-11-18 23:11:17,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:17,703 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2018-11-18 23:11:17,703 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-18 23:11:17,703 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 27 [2018-11-18 23:11:17,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:17,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:11:17,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2018-11-18 23:11:17,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-18 23:11:17,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2018-11-18 23:11:17,715 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2018-11-18 23:11:17,968 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:17,973 INFO L225 Difference]: With dead ends: 86 [2018-11-18 23:11:17,973 INFO L226 Difference]: Without dead ends: 84 [2018-11-18 23:11:17,974 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 24 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 106 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=107, Invalid=399, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:11:17,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-18 23:11:18,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 50. [2018-11-18 23:11:18,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:18,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 50 states. [2018-11-18 23:11:18,045 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 50 states. [2018-11-18 23:11:18,045 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 50 states. [2018-11-18 23:11:18,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:18,052 INFO L93 Difference]: Finished difference Result 84 states and 106 transitions. [2018-11-18 23:11:18,053 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 106 transitions. [2018-11-18 23:11:18,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:18,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:18,054 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 84 states. [2018-11-18 23:11:18,054 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 84 states. [2018-11-18 23:11:18,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:18,061 INFO L93 Difference]: Finished difference Result 84 states and 106 transitions. [2018-11-18 23:11:18,061 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 106 transitions. [2018-11-18 23:11:18,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:18,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:18,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:18,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:18,063 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-18 23:11:18,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2018-11-18 23:11:18,066 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 27 [2018-11-18 23:11:18,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:18,066 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2018-11-18 23:11:18,066 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-18 23:11:18,067 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2018-11-18 23:11:18,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-18 23:11:18,068 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:18,068 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:18,068 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:18,068 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:18,069 INFO L82 PathProgramCache]: Analyzing trace with hash 207767884, now seen corresponding path program 1 times [2018-11-18 23:11:18,069 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:18,069 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:18,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:18,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:18,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:18,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:19,458 INFO L256 TraceCheckUtils]: 0: Hoare triple {841#true} call ULTIMATE.init(); {841#true} is VALID [2018-11-18 23:11:19,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {841#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {841#true} is VALID [2018-11-18 23:11:19,459 INFO L273 TraceCheckUtils]: 2: Hoare triple {841#true} assume true; {841#true} is VALID [2018-11-18 23:11:19,459 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {841#true} {841#true} #90#return; {841#true} is VALID [2018-11-18 23:11:19,460 INFO L256 TraceCheckUtils]: 4: Hoare triple {841#true} call #t~ret9 := main(); {841#true} is VALID [2018-11-18 23:11:19,460 INFO L273 TraceCheckUtils]: 5: Hoare triple {841#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {841#true} is VALID [2018-11-18 23:11:19,461 INFO L273 TraceCheckUtils]: 6: Hoare triple {841#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; {843#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,462 INFO L273 TraceCheckUtils]: 7: Hoare triple {843#(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 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-18 23:11:19,463 INFO L273 TraceCheckUtils]: 8: Hoare triple {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} assume true; {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-18 23:11:19,465 INFO L273 TraceCheckUtils]: 9: Hoare triple {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} is VALID [2018-11-18 23:11:19,466 INFO L273 TraceCheckUtils]: 10: Hoare triple {844#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,468 INFO L273 TraceCheckUtils]: 11: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,469 INFO L273 TraceCheckUtils]: 12: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,471 INFO L273 TraceCheckUtils]: 13: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,472 INFO L273 TraceCheckUtils]: 14: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,474 INFO L273 TraceCheckUtils]: 15: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,475 INFO L273 TraceCheckUtils]: 16: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,476 INFO L273 TraceCheckUtils]: 17: Hoare triple {845#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))) main_~DEFAULTVAL~0)) (not (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|)))) (or (and (<= 2 ~SIZE~0) (<= (+ (* 16 main_~i~0) |main_~#a~0.offset|) 16)) (= 16 (+ (* 16 main_~i~0) |main_~#a~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {846#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,477 INFO L273 TraceCheckUtils]: 18: Hoare triple {846#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0))} assume true; {846#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,483 INFO L273 TraceCheckUtils]: 19: Hoare triple {846#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0))) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {847#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:19,484 INFO L273 TraceCheckUtils]: 20: Hoare triple {847#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) 0) main_~DEFAULTVAL~0)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {848#(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-18 23:11:19,485 INFO L273 TraceCheckUtils]: 21: Hoare triple {848#(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 true; {848#(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-18 23:11:19,485 INFO L273 TraceCheckUtils]: 22: Hoare triple {848#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {849#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:11:19,486 INFO L256 TraceCheckUtils]: 23: Hoare triple {849#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {850#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:11:19,508 INFO L273 TraceCheckUtils]: 24: Hoare triple {850#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {851#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:11:19,511 INFO L273 TraceCheckUtils]: 25: Hoare triple {851#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {842#false} is VALID [2018-11-18 23:11:19,511 INFO L273 TraceCheckUtils]: 26: Hoare triple {842#false} assume !false; {842#false} is VALID [2018-11-18 23:11:19,514 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:19,515 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:19,515 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-18 23:11:19,524 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:19,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:19,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:19,584 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:19,685 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:19,691 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:11:19,693 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,697 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,713 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-18 23:11:19,713 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-18 23:11:19,715 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:19,763 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:11:19,769 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:19,771 INFO L477 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-18 23:11:19,774 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,781 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,793 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-18 23:11:19,793 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-18 23:11:19,797 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:19,822 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:11:19,832 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:19,837 INFO L477 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-18 23:11:19,844 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,854 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,866 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-18 23:11:19,866 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-18 23:11:19,869 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:19,887 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 16 [2018-11-18 23:11:19,893 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:19,897 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 23 [2018-11-18 23:11:19,903 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,909 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:19,919 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-18 23:11:19,919 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:14 [2018-11-18 23:11:19,923 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:20,010 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:11:20,016 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-18 23:11:20,022 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:20,024 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:20,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-18 23:11:20,028 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:11:20,032 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:20,098 INFO L256 TraceCheckUtils]: 0: Hoare triple {841#true} call ULTIMATE.init(); {841#true} is VALID [2018-11-18 23:11:20,099 INFO L273 TraceCheckUtils]: 1: Hoare triple {841#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {841#true} is VALID [2018-11-18 23:11:20,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {841#true} assume true; {841#true} is VALID [2018-11-18 23:11:20,099 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {841#true} {841#true} #90#return; {841#true} is VALID [2018-11-18 23:11:20,100 INFO L256 TraceCheckUtils]: 4: Hoare triple {841#true} call #t~ret9 := main(); {841#true} is VALID [2018-11-18 23:11:20,100 INFO L273 TraceCheckUtils]: 5: Hoare triple {841#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {841#true} is VALID [2018-11-18 23:11:20,101 INFO L273 TraceCheckUtils]: 6: Hoare triple {841#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; {873#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,115 INFO L273 TraceCheckUtils]: 7: Hoare triple {873#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {877#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,116 INFO L273 TraceCheckUtils]: 8: Hoare triple {877#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {877#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,117 INFO L273 TraceCheckUtils]: 9: Hoare triple {877#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {877#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,118 INFO L273 TraceCheckUtils]: 10: Hoare triple {877#(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 * (4 * ~i~0 - 4), 4); {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,120 INFO L273 TraceCheckUtils]: 11: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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; {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,121 INFO L273 TraceCheckUtils]: 12: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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 * (4 * ~i~0 - 3), 4); {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,123 INFO L273 TraceCheckUtils]: 13: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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; {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,128 INFO L273 TraceCheckUtils]: 14: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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 * (4 * ~i~0 - 2), 4); {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,133 INFO L273 TraceCheckUtils]: 15: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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; {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,134 INFO L273 TraceCheckUtils]: 16: Hoare triple {887#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16)))) (= |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 * (4 * ~i~0 - 1), 4); {906#(and (<= 10 (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-18 23:11:20,134 INFO L273 TraceCheckUtils]: 17: Hoare triple {906#(and (<= 10 (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; {906#(and (<= 10 (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-18 23:11:20,135 INFO L273 TraceCheckUtils]: 18: Hoare triple {906#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {906#(and (<= 10 (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-18 23:11:20,135 INFO L273 TraceCheckUtils]: 19: Hoare triple {906#(and (<= 10 (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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {906#(and (<= 10 (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-18 23:11:20,136 INFO L273 TraceCheckUtils]: 20: Hoare triple {906#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {919#(and (<= 10 (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-18 23:11:20,137 INFO L273 TraceCheckUtils]: 21: Hoare triple {919#(and (<= 10 (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 true; {919#(and (<= 10 (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-18 23:11:20,138 INFO L273 TraceCheckUtils]: 22: Hoare triple {919#(and (<= 10 (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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {926#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:20,139 INFO L256 TraceCheckUtils]: 23: Hoare triple {926#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {930#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:11:20,140 INFO L273 TraceCheckUtils]: 24: Hoare triple {930#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {934#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:11:20,141 INFO L273 TraceCheckUtils]: 25: Hoare triple {934#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {842#false} is VALID [2018-11-18 23:11:20,141 INFO L273 TraceCheckUtils]: 26: Hoare triple {842#false} assume !false; {842#false} is VALID [2018-11-18 23:11:20,145 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:20,165 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:20,165 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 19 [2018-11-18 23:11:20,166 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 27 [2018-11-18 23:11:20,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:20,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-18 23:11:20,236 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:20,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-18 23:11:20,237 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-18 23:11:20,237 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=295, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:11:20,238 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand 19 states. [2018-11-18 23:11:23,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:23,857 INFO L93 Difference]: Finished difference Result 107 states and 133 transitions. [2018-11-18 23:11:23,857 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-18 23:11:23,857 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 27 [2018-11-18 23:11:23,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:23,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:11:23,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-18 23:11:23,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:11:23,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-18 23:11:23,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2018-11-18 23:11:24,084 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-18 23:11:24,089 INFO L225 Difference]: With dead ends: 107 [2018-11-18 23:11:24,089 INFO L226 Difference]: Without dead ends: 105 [2018-11-18 23:11:24,090 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 23 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=167, Invalid=703, Unknown=0, NotChecked=0, Total=870 [2018-11-18 23:11:24,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-11-18 23:11:24,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 39. [2018-11-18 23:11:24,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:24,189 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 39 states. [2018-11-18 23:11:24,190 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 39 states. [2018-11-18 23:11:24,190 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 39 states. [2018-11-18 23:11:24,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:24,197 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2018-11-18 23:11:24,197 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 131 transitions. [2018-11-18 23:11:24,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:24,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:24,199 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 105 states. [2018-11-18 23:11:24,199 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 105 states. [2018-11-18 23:11:24,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:24,206 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2018-11-18 23:11:24,206 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 131 transitions. [2018-11-18 23:11:24,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:24,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:24,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:24,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:24,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-18 23:11:24,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 44 transitions. [2018-11-18 23:11:24,210 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 44 transitions. Word has length 27 [2018-11-18 23:11:24,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:24,210 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 44 transitions. [2018-11-18 23:11:24,211 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-18 23:11:24,211 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-18 23:11:24,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-18 23:11:24,212 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:24,212 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:24,212 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:24,213 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:24,213 INFO L82 PathProgramCache]: Analyzing trace with hash -1032780020, now seen corresponding path program 1 times [2018-11-18 23:11:24,213 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:24,213 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:24,214 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:24,214 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:24,214 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:24,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:24,715 INFO L256 TraceCheckUtils]: 0: Hoare triple {1355#true} call ULTIMATE.init(); {1355#true} is VALID [2018-11-18 23:11:24,715 INFO L273 TraceCheckUtils]: 1: Hoare triple {1355#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1355#true} is VALID [2018-11-18 23:11:24,715 INFO L273 TraceCheckUtils]: 2: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-18 23:11:24,716 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1355#true} {1355#true} #90#return; {1355#true} is VALID [2018-11-18 23:11:24,716 INFO L256 TraceCheckUtils]: 4: Hoare triple {1355#true} call #t~ret9 := main(); {1355#true} is VALID [2018-11-18 23:11:24,717 INFO L273 TraceCheckUtils]: 5: Hoare triple {1355#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1355#true} is VALID [2018-11-18 23:11:24,718 INFO L273 TraceCheckUtils]: 6: Hoare triple {1355#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; {1357#(<= 2 ~SIZE~0)} is VALID [2018-11-18 23:11:24,719 INFO L273 TraceCheckUtils]: 7: Hoare triple {1357#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:11:24,720 INFO L273 TraceCheckUtils]: 8: Hoare triple {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume true; {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:11:24,721 INFO L273 TraceCheckUtils]: 9: Hoare triple {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:11:24,722 INFO L273 TraceCheckUtils]: 10: Hoare triple {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:11:24,723 INFO L273 TraceCheckUtils]: 11: Hoare triple {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:11:24,725 INFO L273 TraceCheckUtils]: 12: Hoare triple {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} is VALID [2018-11-18 23:11:24,726 INFO L273 TraceCheckUtils]: 13: Hoare triple {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} is VALID [2018-11-18 23:11:24,727 INFO L273 TraceCheckUtils]: 14: Hoare triple {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} is VALID [2018-11-18 23:11:24,729 INFO L273 TraceCheckUtils]: 15: Hoare triple {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} is VALID [2018-11-18 23:11:24,730 INFO L273 TraceCheckUtils]: 16: Hoare triple {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} is VALID [2018-11-18 23:11:24,732 INFO L273 TraceCheckUtils]: 17: Hoare triple {1359#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1360#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))))} is VALID [2018-11-18 23:11:24,733 INFO L273 TraceCheckUtils]: 18: Hoare triple {1360#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))))} assume true; {1360#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))))} is VALID [2018-11-18 23:11:24,735 INFO L273 TraceCheckUtils]: 19: Hoare triple {1360#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {1361#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))} is VALID [2018-11-18 23:11:24,736 INFO L273 TraceCheckUtils]: 20: Hoare triple {1361#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12))))))} ~i~0 := 0; {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:11:24,737 INFO L273 TraceCheckUtils]: 21: Hoare triple {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} assume true; {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:11:24,738 INFO L273 TraceCheckUtils]: 22: Hoare triple {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:11:24,738 INFO L256 TraceCheckUtils]: 23: Hoare triple {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1355#true} is VALID [2018-11-18 23:11:24,739 INFO L273 TraceCheckUtils]: 24: Hoare triple {1355#true} ~cond := #in~cond; {1355#true} is VALID [2018-11-18 23:11:24,739 INFO L273 TraceCheckUtils]: 25: Hoare triple {1355#true} assume !(0 == ~cond); {1355#true} is VALID [2018-11-18 23:11:24,739 INFO L273 TraceCheckUtils]: 26: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-18 23:11:24,750 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1355#true} {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} #88#return; {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:11:24,751 INFO L273 TraceCheckUtils]: 28: Hoare triple {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} havoc #t~mem8; {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:11:24,751 INFO L273 TraceCheckUtils]: 29: Hoare triple {1362#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))))) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1363#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:11:24,752 INFO L273 TraceCheckUtils]: 30: Hoare triple {1363#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume true; {1363#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:11:24,753 INFO L273 TraceCheckUtils]: 31: Hoare triple {1363#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:11:24,754 INFO L256 TraceCheckUtils]: 32: Hoare triple {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:11:24,773 INFO L273 TraceCheckUtils]: 33: Hoare triple {1365#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1366#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:11:24,788 INFO L273 TraceCheckUtils]: 34: Hoare triple {1366#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1356#false} is VALID [2018-11-18 23:11:24,788 INFO L273 TraceCheckUtils]: 35: Hoare triple {1356#false} assume !false; {1356#false} is VALID [2018-11-18 23:11:24,794 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:24,795 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:24,795 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-18 23:11:24,804 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:24,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:24,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:24,841 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:24,945 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:24,950 INFO L477 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-18 23:11:24,952 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:24,954 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:24,963 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-18 23:11:24,964 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-18 23:11:24,968 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:25,007 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:11:25,016 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:25,020 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-18 23:11:25,022 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,030 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,040 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-18 23:11:25,041 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-18 23:11:25,045 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:25,059 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 19 [2018-11-18 23:11:25,069 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:25,072 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 28 [2018-11-18 23:11:25,075 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,083 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,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-18 23:11:25,090 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:14 [2018-11-18 23:11:25,092 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:25,276 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-18 23:11:25,284 INFO L477 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-18 23:11:25,286 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,288 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:25,290 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-18 23:11:25,291 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-18 23:11:25,293 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:25,326 INFO L256 TraceCheckUtils]: 0: Hoare triple {1355#true} call ULTIMATE.init(); {1355#true} is VALID [2018-11-18 23:11:25,327 INFO L273 TraceCheckUtils]: 1: Hoare triple {1355#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1355#true} is VALID [2018-11-18 23:11:25,327 INFO L273 TraceCheckUtils]: 2: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-18 23:11:25,327 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1355#true} {1355#true} #90#return; {1355#true} is VALID [2018-11-18 23:11:25,328 INFO L256 TraceCheckUtils]: 4: Hoare triple {1355#true} call #t~ret9 := main(); {1355#true} is VALID [2018-11-18 23:11:25,328 INFO L273 TraceCheckUtils]: 5: Hoare triple {1355#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1355#true} is VALID [2018-11-18 23:11:25,328 INFO L273 TraceCheckUtils]: 6: Hoare triple {1355#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; {1388#(= |main_~#a~0.offset| 0)} is VALID [2018-11-18 23:11:25,329 INFO L273 TraceCheckUtils]: 7: Hoare triple {1388#(= |main_~#a~0.offset| 0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,329 INFO L273 TraceCheckUtils]: 8: Hoare triple {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume true; {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,330 INFO L273 TraceCheckUtils]: 9: Hoare triple {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,330 INFO L273 TraceCheckUtils]: 10: Hoare triple {1392#(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 * (4 * ~i~0 - 4), 4); {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,331 INFO L273 TraceCheckUtils]: 11: Hoare triple {1392#(and (= 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; {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,331 INFO L273 TraceCheckUtils]: 12: Hoare triple {1392#(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 * (4 * ~i~0 - 3), 4); {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,332 INFO L273 TraceCheckUtils]: 13: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,333 INFO L273 TraceCheckUtils]: 14: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,334 INFO L273 TraceCheckUtils]: 15: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,335 INFO L273 TraceCheckUtils]: 16: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,336 INFO L273 TraceCheckUtils]: 17: Hoare triple {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,337 INFO L273 TraceCheckUtils]: 18: Hoare triple {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} assume true; {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,338 INFO L273 TraceCheckUtils]: 19: Hoare triple {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,339 INFO L273 TraceCheckUtils]: 20: Hoare triple {1421#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,339 INFO L273 TraceCheckUtils]: 21: Hoare triple {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,340 INFO L273 TraceCheckUtils]: 22: Hoare triple {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,341 INFO L256 TraceCheckUtils]: 23: Hoare triple {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1355#true} is VALID [2018-11-18 23:11:25,341 INFO L273 TraceCheckUtils]: 24: Hoare triple {1355#true} ~cond := #in~cond; {1355#true} is VALID [2018-11-18 23:11:25,341 INFO L273 TraceCheckUtils]: 25: Hoare triple {1355#true} assume !(0 == ~cond); {1355#true} is VALID [2018-11-18 23:11:25,341 INFO L273 TraceCheckUtils]: 26: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-18 23:11:25,348 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1355#true} {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #88#return; {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,349 INFO L273 TraceCheckUtils]: 28: Hoare triple {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem8; {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,349 INFO L273 TraceCheckUtils]: 29: Hoare triple {1434#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4)))) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,350 INFO L273 TraceCheckUtils]: 30: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} assume true; {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:25,351 INFO L273 TraceCheckUtils]: 31: Hoare triple {1408#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:11:25,351 INFO L256 TraceCheckUtils]: 32: Hoare triple {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1471#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:11:25,352 INFO L273 TraceCheckUtils]: 33: Hoare triple {1471#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1475#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:11:25,353 INFO L273 TraceCheckUtils]: 34: Hoare triple {1475#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1356#false} is VALID [2018-11-18 23:11:25,353 INFO L273 TraceCheckUtils]: 35: Hoare triple {1356#false} assume !false; {1356#false} is VALID [2018-11-18 23:11:25,357 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:25,387 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:25,387 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 19 [2018-11-18 23:11:25,388 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 36 [2018-11-18 23:11:25,388 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:25,389 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-18 23:11:25,535 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:25,535 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-18 23:11:25,536 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-18 23:11:25,536 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2018-11-18 23:11:25,536 INFO L87 Difference]: Start difference. First operand 39 states and 44 transitions. Second operand 19 states. [2018-11-18 23:11:27,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:27,648 INFO L93 Difference]: Finished difference Result 89 states and 109 transitions. [2018-11-18 23:11:27,649 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-18 23:11:27,649 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 36 [2018-11-18 23:11:27,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:27,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:11:27,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 102 transitions. [2018-11-18 23:11:27,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-18 23:11:27,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 102 transitions. [2018-11-18 23:11:27,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 102 transitions. [2018-11-18 23:11:27,813 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:27,817 INFO L225 Difference]: With dead ends: 89 [2018-11-18 23:11:27,817 INFO L226 Difference]: Without dead ends: 87 [2018-11-18 23:11:27,818 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 31 SyntacticMatches, 3 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 164 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=146, Invalid=666, Unknown=0, NotChecked=0, Total=812 [2018-11-18 23:11:27,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-18 23:11:27,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 62. [2018-11-18 23:11:27,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:27,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 62 states. [2018-11-18 23:11:27,931 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 62 states. [2018-11-18 23:11:27,931 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 62 states. [2018-11-18 23:11:27,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:27,936 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-18 23:11:27,936 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2018-11-18 23:11:27,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:27,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:27,938 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 87 states. [2018-11-18 23:11:27,938 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 87 states. [2018-11-18 23:11:27,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:27,942 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-18 23:11:27,942 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2018-11-18 23:11:27,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:27,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:27,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:27,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:27,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2018-11-18 23:11:27,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 73 transitions. [2018-11-18 23:11:27,946 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 73 transitions. Word has length 36 [2018-11-18 23:11:27,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:27,946 INFO L480 AbstractCegarLoop]: Abstraction has 62 states and 73 transitions. [2018-11-18 23:11:27,946 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-18 23:11:27,946 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 73 transitions. [2018-11-18 23:11:27,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-18 23:11:27,947 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:27,947 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:27,948 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:27,948 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:27,948 INFO L82 PathProgramCache]: Analyzing trace with hash -1166793526, now seen corresponding path program 1 times [2018-11-18 23:11:27,948 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:27,948 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:27,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:27,949 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:27,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:27,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:28,382 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 10 [2018-11-18 23:11:28,709 INFO L256 TraceCheckUtils]: 0: Hoare triple {1864#true} call ULTIMATE.init(); {1864#true} is VALID [2018-11-18 23:11:28,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {1864#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1864#true} is VALID [2018-11-18 23:11:28,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-18 23:11:28,710 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1864#true} {1864#true} #90#return; {1864#true} is VALID [2018-11-18 23:11:28,711 INFO L256 TraceCheckUtils]: 4: Hoare triple {1864#true} call #t~ret9 := main(); {1864#true} is VALID [2018-11-18 23:11:28,711 INFO L273 TraceCheckUtils]: 5: Hoare triple {1864#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1864#true} is VALID [2018-11-18 23:11:28,712 INFO L273 TraceCheckUtils]: 6: Hoare triple {1864#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; {1866#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:28,713 INFO L273 TraceCheckUtils]: 7: Hoare triple {1866#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,713 INFO L273 TraceCheckUtils]: 8: Hoare triple {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume true; {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,714 INFO L273 TraceCheckUtils]: 9: Hoare triple {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,715 INFO L273 TraceCheckUtils]: 10: Hoare triple {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 4), 4); {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,716 INFO L273 TraceCheckUtils]: 11: Hoare triple {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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; {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,717 INFO L273 TraceCheckUtils]: 12: Hoare triple {1867#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 3), 4); {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,719 INFO L273 TraceCheckUtils]: 13: Hoare triple {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,720 INFO L273 TraceCheckUtils]: 14: Hoare triple {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,721 INFO L273 TraceCheckUtils]: 15: Hoare triple {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,723 INFO L273 TraceCheckUtils]: 16: Hoare triple {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:11:28,724 INFO L273 TraceCheckUtils]: 17: Hoare triple {1868#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1869#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))))} is VALID [2018-11-18 23:11:28,732 INFO L273 TraceCheckUtils]: 18: Hoare triple {1869#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))))} assume true; {1869#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))))} is VALID [2018-11-18 23:11:28,733 INFO L273 TraceCheckUtils]: 19: Hoare triple {1869#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) (+ ~SIZE~0 2)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {1870#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:11:28,736 INFO L273 TraceCheckUtils]: 20: Hoare triple {1870#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0))} ~i~0 := 0; {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:28,736 INFO L273 TraceCheckUtils]: 21: Hoare triple {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} assume true; {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:28,737 INFO L273 TraceCheckUtils]: 22: Hoare triple {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:28,737 INFO L256 TraceCheckUtils]: 23: Hoare triple {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1864#true} is VALID [2018-11-18 23:11:28,737 INFO L273 TraceCheckUtils]: 24: Hoare triple {1864#true} ~cond := #in~cond; {1864#true} is VALID [2018-11-18 23:11:28,737 INFO L273 TraceCheckUtils]: 25: Hoare triple {1864#true} assume !(0 == ~cond); {1864#true} is VALID [2018-11-18 23:11:28,738 INFO L273 TraceCheckUtils]: 26: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-18 23:11:28,738 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1864#true} {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #88#return; {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:28,739 INFO L273 TraceCheckUtils]: 28: Hoare triple {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} havoc #t~mem8; {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:28,739 INFO L273 TraceCheckUtils]: 29: Hoare triple {1871#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 12)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1872#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:11:28,740 INFO L273 TraceCheckUtils]: 30: Hoare triple {1872#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume true; {1872#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:11:28,740 INFO L273 TraceCheckUtils]: 31: Hoare triple {1872#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1873#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:11:28,741 INFO L256 TraceCheckUtils]: 32: Hoare triple {1873#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:11:28,742 INFO L273 TraceCheckUtils]: 33: Hoare triple {1874#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1875#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:11:28,742 INFO L273 TraceCheckUtils]: 34: Hoare triple {1875#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1865#false} is VALID [2018-11-18 23:11:28,742 INFO L273 TraceCheckUtils]: 35: Hoare triple {1865#false} assume !false; {1865#false} is VALID [2018-11-18 23:11:28,752 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:28,752 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:28,752 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-18 23:11:28,771 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:28,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:28,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:28,819 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:29,108 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:29,115 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:11:29,119 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,122 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,135 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-18 23:11:29,136 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-18 23:11:29,140 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:29,209 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:11:29,215 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:29,219 INFO L477 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-18 23:11:29,221 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,228 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,241 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-18 23:11:29,242 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-18 23:11:29,246 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:29,265 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-18 23:11:29,272 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:29,274 INFO L477 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-18 23:11:29,276 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,284 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,294 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-18 23:11:29,294 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-18 23:11:29,298 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:29,474 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:11:29,479 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-18 23:11:29,481 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,482 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:29,486 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-18 23:11:29,487 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:11:29,490 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:29,620 INFO L256 TraceCheckUtils]: 0: Hoare triple {1864#true} call ULTIMATE.init(); {1864#true} is VALID [2018-11-18 23:11:29,621 INFO L273 TraceCheckUtils]: 1: Hoare triple {1864#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1864#true} is VALID [2018-11-18 23:11:29,621 INFO L273 TraceCheckUtils]: 2: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-18 23:11:29,621 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1864#true} {1864#true} #90#return; {1864#true} is VALID [2018-11-18 23:11:29,621 INFO L256 TraceCheckUtils]: 4: Hoare triple {1864#true} call #t~ret9 := main(); {1864#true} is VALID [2018-11-18 23:11:29,621 INFO L273 TraceCheckUtils]: 5: Hoare triple {1864#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1864#true} is VALID [2018-11-18 23:11:29,624 INFO L273 TraceCheckUtils]: 6: Hoare triple {1864#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; {1897#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,629 INFO L273 TraceCheckUtils]: 7: Hoare triple {1897#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,630 INFO L273 TraceCheckUtils]: 8: Hoare triple {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,630 INFO L273 TraceCheckUtils]: 9: Hoare triple {1901#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,631 INFO L273 TraceCheckUtils]: 10: Hoare triple {1901#(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 * (4 * ~i~0 - 4), 4); {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,631 INFO L273 TraceCheckUtils]: 11: Hoare triple {1901#(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; {1901#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,632 INFO L273 TraceCheckUtils]: 12: Hoare triple {1901#(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 * (4 * ~i~0 - 3), 4); {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,633 INFO L273 TraceCheckUtils]: 13: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12)))) (= 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; {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,635 INFO L273 TraceCheckUtils]: 14: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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 * (4 * ~i~0 - 2), 4); {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,636 INFO L273 TraceCheckUtils]: 15: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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; {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,637 INFO L273 TraceCheckUtils]: 16: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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 * (4 * ~i~0 - 1), 4); {1930#(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-18 23:11:29,638 INFO L273 TraceCheckUtils]: 17: Hoare triple {1930#(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; {1930#(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-18 23:11:29,639 INFO L273 TraceCheckUtils]: 18: Hoare triple {1930#(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 true; {1930#(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-18 23:11:29,640 INFO L273 TraceCheckUtils]: 19: Hoare triple {1930#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {1930#(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-18 23:11:29,640 INFO L273 TraceCheckUtils]: 20: Hoare triple {1930#(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; {1943#(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-18 23:11:29,641 INFO L273 TraceCheckUtils]: 21: Hoare triple {1943#(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 true; {1943#(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-18 23:11:29,642 INFO L273 TraceCheckUtils]: 22: Hoare triple {1943#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1943#(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-18 23:11:29,644 INFO L256 TraceCheckUtils]: 23: Hoare triple {1943#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} is VALID [2018-11-18 23:11:29,645 INFO L273 TraceCheckUtils]: 24: Hoare triple {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} ~cond := #in~cond; {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} is VALID [2018-11-18 23:11:29,646 INFO L273 TraceCheckUtils]: 25: Hoare triple {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} assume !(0 == ~cond); {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} is VALID [2018-11-18 23:11:29,646 INFO L273 TraceCheckUtils]: 26: Hoare triple {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} assume true; {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} is VALID [2018-11-18 23:11:29,653 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1953#(exists ((|v_main_~#a~0.base_BEFORE_CALL_2| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) 4)))} {1943#(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))} #88#return; {1943#(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-18 23:11:29,653 INFO L273 TraceCheckUtils]: 28: Hoare triple {1943#(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~mem8; {1943#(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-18 23:11:29,654 INFO L273 TraceCheckUtils]: 29: Hoare triple {1943#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,655 INFO L273 TraceCheckUtils]: 30: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 12)))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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-18 23:11:29,655 INFO L273 TraceCheckUtils]: 31: Hoare triple {1917#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {1978#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:29,656 INFO L256 TraceCheckUtils]: 32: Hoare triple {1978#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {1982#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:11:29,657 INFO L273 TraceCheckUtils]: 33: Hoare triple {1982#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1986#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:11:29,664 INFO L273 TraceCheckUtils]: 34: Hoare triple {1986#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1865#false} is VALID [2018-11-18 23:11:29,664 INFO L273 TraceCheckUtils]: 35: Hoare triple {1865#false} assume !false; {1865#false} is VALID [2018-11-18 23:11:29,668 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:11:29,688 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:29,688 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-18 23:11:29,688 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 36 [2018-11-18 23:11:29,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:29,689 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-18 23:11:30,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:30,037 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-18 23:11:30,038 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-18 23:11:30,038 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=363, Unknown=0, NotChecked=0, Total=420 [2018-11-18 23:11:30,038 INFO L87 Difference]: Start difference. First operand 62 states and 73 transitions. Second operand 21 states. [2018-11-18 23:11:35,254 WARN L180 SmtUtils]: Spent 468.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 28 [2018-11-18 23:11:41,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:41,039 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2018-11-18 23:11:41,039 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-18 23:11:41,039 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 36 [2018-11-18 23:11:41,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:11:41,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:11:41,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 116 transitions. [2018-11-18 23:11:41,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-18 23:11:41,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 116 transitions. [2018-11-18 23:11:41,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 116 transitions. [2018-11-18 23:11:41,279 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-18 23:11:41,283 INFO L225 Difference]: With dead ends: 128 [2018-11-18 23:11:41,283 INFO L226 Difference]: Without dead ends: 126 [2018-11-18 23:11:41,284 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 30 SyntacticMatches, 4 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 234 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=202, Invalid=988, Unknown=0, NotChecked=0, Total=1190 [2018-11-18 23:11:41,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2018-11-18 23:11:41,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 48. [2018-11-18 23:11:41,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:11:41,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 48 states. [2018-11-18 23:11:41,474 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 48 states. [2018-11-18 23:11:41,474 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 48 states. [2018-11-18 23:11:41,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:41,479 INFO L93 Difference]: Finished difference Result 126 states and 148 transitions. [2018-11-18 23:11:41,479 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 148 transitions. [2018-11-18 23:11:41,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:41,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:41,480 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 126 states. [2018-11-18 23:11:41,480 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 126 states. [2018-11-18 23:11:41,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:11:41,485 INFO L93 Difference]: Finished difference Result 126 states and 148 transitions. [2018-11-18 23:11:41,485 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 148 transitions. [2018-11-18 23:11:41,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:11:41,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:11:41,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:11:41,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:11:41,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-18 23:11:41,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-18 23:11:41,488 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 36 [2018-11-18 23:11:41,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:11:41,488 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-18 23:11:41,489 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-18 23:11:41,489 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-18 23:11:41,489 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-18 23:11:41,489 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:11:41,490 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:11:41,490 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:11:41,490 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:11:41,490 INFO L82 PathProgramCache]: Analyzing trace with hash 1869506442, now seen corresponding path program 2 times [2018-11-18 23:11:41,490 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:11:41,490 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:11:41,491 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:41,491 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:11:41,491 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:11:41,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:42,128 INFO L256 TraceCheckUtils]: 0: Hoare triple {2496#true} call ULTIMATE.init(); {2496#true} is VALID [2018-11-18 23:11:42,128 INFO L273 TraceCheckUtils]: 1: Hoare triple {2496#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2496#true} is VALID [2018-11-18 23:11:42,128 INFO L273 TraceCheckUtils]: 2: Hoare triple {2496#true} assume true; {2496#true} is VALID [2018-11-18 23:11:42,128 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2496#true} {2496#true} #90#return; {2496#true} is VALID [2018-11-18 23:11:42,128 INFO L256 TraceCheckUtils]: 4: Hoare triple {2496#true} call #t~ret9 := main(); {2496#true} is VALID [2018-11-18 23:11:42,128 INFO L273 TraceCheckUtils]: 5: Hoare triple {2496#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2496#true} is VALID [2018-11-18 23:11:42,129 INFO L273 TraceCheckUtils]: 6: Hoare triple {2496#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; {2498#(<= 2 ~SIZE~0)} is VALID [2018-11-18 23:11:42,130 INFO L273 TraceCheckUtils]: 7: Hoare triple {2498#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,131 INFO L273 TraceCheckUtils]: 8: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume true; {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,131 INFO L273 TraceCheckUtils]: 9: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,132 INFO L273 TraceCheckUtils]: 10: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,132 INFO L273 TraceCheckUtils]: 11: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,133 INFO L273 TraceCheckUtils]: 12: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,134 INFO L273 TraceCheckUtils]: 13: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,135 INFO L273 TraceCheckUtils]: 14: Hoare triple {2499#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,136 INFO L273 TraceCheckUtils]: 15: Hoare triple {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,138 INFO L273 TraceCheckUtils]: 16: Hoare triple {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,139 INFO L273 TraceCheckUtils]: 17: Hoare triple {2500#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))))) (= main_~i~0 1) (<= 2 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2501#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8))))))) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,140 INFO L273 TraceCheckUtils]: 18: Hoare triple {2501#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8))))))) (<= 2 ~SIZE~0))} assume true; {2501#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8))))))) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:11:42,141 INFO L273 TraceCheckUtils]: 19: Hoare triple {2501#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8))))))) (<= 2 ~SIZE~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {2502#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,142 INFO L273 TraceCheckUtils]: 20: Hoare triple {2502#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)))} ~i~0 := 0; {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:42,143 INFO L273 TraceCheckUtils]: 21: Hoare triple {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} assume true; {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:42,146 INFO L273 TraceCheckUtils]: 22: Hoare triple {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:42,146 INFO L256 TraceCheckUtils]: 23: Hoare triple {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2496#true} is VALID [2018-11-18 23:11:42,146 INFO L273 TraceCheckUtils]: 24: Hoare triple {2496#true} ~cond := #in~cond; {2496#true} is VALID [2018-11-18 23:11:42,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {2496#true} assume !(0 == ~cond); {2496#true} is VALID [2018-11-18 23:11:42,147 INFO L273 TraceCheckUtils]: 26: Hoare triple {2496#true} assume true; {2496#true} is VALID [2018-11-18 23:11:42,148 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2496#true} {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} #88#return; {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:42,148 INFO L273 TraceCheckUtils]: 28: Hoare triple {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} havoc #t~mem8; {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:11:42,149 INFO L273 TraceCheckUtils]: 29: Hoare triple {2503#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))))) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,150 INFO L273 TraceCheckUtils]: 30: Hoare triple {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} assume true; {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,151 INFO L273 TraceCheckUtils]: 31: Hoare triple {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,151 INFO L256 TraceCheckUtils]: 32: Hoare triple {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2496#true} is VALID [2018-11-18 23:11:42,152 INFO L273 TraceCheckUtils]: 33: Hoare triple {2496#true} ~cond := #in~cond; {2496#true} is VALID [2018-11-18 23:11:42,152 INFO L273 TraceCheckUtils]: 34: Hoare triple {2496#true} assume !(0 == ~cond); {2496#true} is VALID [2018-11-18 23:11:42,152 INFO L273 TraceCheckUtils]: 35: Hoare triple {2496#true} assume true; {2496#true} is VALID [2018-11-18 23:11:42,153 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2496#true} {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} #88#return; {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,154 INFO L273 TraceCheckUtils]: 37: Hoare triple {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} havoc #t~mem8; {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:11:42,155 INFO L273 TraceCheckUtils]: 38: Hoare triple {2504#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))))) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2505#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:11:42,155 INFO L273 TraceCheckUtils]: 39: Hoare triple {2505#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume true; {2505#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:11:42,155 INFO L273 TraceCheckUtils]: 40: Hoare triple {2505#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2506#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:11:42,157 INFO L256 TraceCheckUtils]: 41: Hoare triple {2506#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2507#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:11:42,157 INFO L273 TraceCheckUtils]: 42: Hoare triple {2507#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2508#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:11:42,158 INFO L273 TraceCheckUtils]: 43: Hoare triple {2508#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2497#false} is VALID [2018-11-18 23:11:42,158 INFO L273 TraceCheckUtils]: 44: Hoare triple {2497#false} assume !false; {2497#false} is VALID [2018-11-18 23:11:42,166 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:11:42,166 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:11:42,166 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-18 23:11:42,175 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:11:42,210 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:11:42,210 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:11:42,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:11:42,228 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:11:42,379 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:11:42,384 INFO L477 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-18 23:11:42,386 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,389 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,402 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-18 23:11:42,402 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:23 [2018-11-18 23:11:42,405 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:42,458 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 19 [2018-11-18 23:11:42,463 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:11:42,465 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 28 [2018-11-18 23:11:42,468 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,473 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,483 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-18 23:11:42,484 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-18 23:11:42,488 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:42,785 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-18 23:11:42,790 INFO L477 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-18 23:11:42,791 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,794 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:11:42,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-18 23:11:42,799 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-18 23:11:42,801 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:11:42,856 INFO L256 TraceCheckUtils]: 0: Hoare triple {2496#true} call ULTIMATE.init(); {2496#true} is VALID [2018-11-18 23:11:42,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {2496#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2496#true} is VALID [2018-11-18 23:11:42,857 INFO L273 TraceCheckUtils]: 2: Hoare triple {2496#true} assume true; {2496#true} is VALID [2018-11-18 23:11:42,857 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2496#true} {2496#true} #90#return; {2496#true} is VALID [2018-11-18 23:11:42,857 INFO L256 TraceCheckUtils]: 4: Hoare triple {2496#true} call #t~ret9 := main(); {2496#true} is VALID [2018-11-18 23:11:42,857 INFO L273 TraceCheckUtils]: 5: Hoare triple {2496#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2496#true} is VALID [2018-11-18 23:11:42,858 INFO L273 TraceCheckUtils]: 6: Hoare triple {2496#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; {2530#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,858 INFO L273 TraceCheckUtils]: 7: Hoare triple {2530#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,859 INFO L273 TraceCheckUtils]: 8: Hoare triple {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume true; {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,859 INFO L273 TraceCheckUtils]: 9: Hoare triple {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,860 INFO L273 TraceCheckUtils]: 10: Hoare triple {2534#(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 * (4 * ~i~0 - 4), 4); {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,860 INFO L273 TraceCheckUtils]: 11: Hoare triple {2534#(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; {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,861 INFO L273 TraceCheckUtils]: 12: Hoare triple {2534#(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 * (4 * ~i~0 - 3), 4); {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,862 INFO L273 TraceCheckUtils]: 13: Hoare triple {2534#(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; {2534#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,863 INFO L273 TraceCheckUtils]: 14: Hoare triple {2534#(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 * (4 * ~i~0 - 2), 4); {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,864 INFO L273 TraceCheckUtils]: 15: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) 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; {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,865 INFO L273 TraceCheckUtils]: 16: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) 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 * (4 * ~i~0 - 1), 4); {2563#(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-18 23:11:42,866 INFO L273 TraceCheckUtils]: 17: Hoare triple {2563#(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; {2563#(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-18 23:11:42,867 INFO L273 TraceCheckUtils]: 18: Hoare triple {2563#(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 true; {2563#(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-18 23:11:42,868 INFO L273 TraceCheckUtils]: 19: Hoare triple {2563#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {2563#(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-18 23:11:42,869 INFO L273 TraceCheckUtils]: 20: Hoare triple {2563#(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; {2576#(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-18 23:11:42,869 INFO L273 TraceCheckUtils]: 21: Hoare triple {2576#(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 true; {2576#(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-18 23:11:42,870 INFO L273 TraceCheckUtils]: 22: Hoare triple {2576#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2576#(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-18 23:11:42,872 INFO L256 TraceCheckUtils]: 23: Hoare triple {2576#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,873 INFO L273 TraceCheckUtils]: 24: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} ~cond := #in~cond; {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,878 INFO L273 TraceCheckUtils]: 25: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} assume !(0 == ~cond); {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,879 INFO L273 TraceCheckUtils]: 26: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} assume true; {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,880 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} {2576#(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))} #88#return; {2576#(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-18 23:11:42,880 INFO L273 TraceCheckUtils]: 28: Hoare triple {2576#(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~mem8; {2576#(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-18 23:11:42,881 INFO L273 TraceCheckUtils]: 29: Hoare triple {2576#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,882 INFO L273 TraceCheckUtils]: 30: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume true; {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,883 INFO L273 TraceCheckUtils]: 31: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,885 INFO L256 TraceCheckUtils]: 32: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,886 INFO L273 TraceCheckUtils]: 33: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} ~cond := #in~cond; {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,886 INFO L273 TraceCheckUtils]: 34: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} assume !(0 == ~cond); {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,886 INFO L273 TraceCheckUtils]: 35: Hoare triple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} assume true; {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} is VALID [2018-11-18 23:11:42,887 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2586#(exists ((|v_main_~#a~0.base_BEFORE_CALL_3| Int)) (not (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) 8) 0)))} {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #88#return; {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,888 INFO L273 TraceCheckUtils]: 37: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} havoc #t~mem8; {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-18 23:11:42,888 INFO L273 TraceCheckUtils]: 38: Hoare triple {2556#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {2632#(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-18 23:11:42,889 INFO L273 TraceCheckUtils]: 39: Hoare triple {2632#(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 true; {2632#(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-18 23:11:42,890 INFO L273 TraceCheckUtils]: 40: Hoare triple {2632#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {2639#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:11:42,891 INFO L256 TraceCheckUtils]: 41: Hoare triple {2639#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2643#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:11:42,892 INFO L273 TraceCheckUtils]: 42: Hoare triple {2643#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2647#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:11:42,893 INFO L273 TraceCheckUtils]: 43: Hoare triple {2647#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2497#false} is VALID [2018-11-18 23:11:42,893 INFO L273 TraceCheckUtils]: 44: Hoare triple {2497#false} assume !false; {2497#false} is VALID [2018-11-18 23:11:42,901 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:11:42,922 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:11:42,922 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-18 23:11:42,922 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-18 23:11:42,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:11:42,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-18 23:11:43,019 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:11:43,019 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-18 23:11:43,020 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-18 23:11:43,020 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=436, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:11:43,020 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 23 states. [2018-11-18 23:12:29,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:29,772 INFO L93 Difference]: Finished difference Result 149 states and 176 transitions. [2018-11-18 23:12:29,772 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-18 23:12:29,772 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-18 23:12:29,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:29,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:29,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-18 23:12:29,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:29,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-18 23:12:29,780 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 154 transitions. [2018-11-18 23:12:30,006 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-18 23:12:30,009 INFO L225 Difference]: With dead ends: 149 [2018-11-18 23:12:30,009 INFO L226 Difference]: Without dead ends: 147 [2018-11-18 23:12:30,011 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 34 SyntacticMatches, 5 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 495 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=309, Invalid=1583, Unknown=0, NotChecked=0, Total=1892 [2018-11-18 23:12:30,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-18 23:12:30,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 83. [2018-11-18 23:12:30,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:30,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 83 states. [2018-11-18 23:12:30,249 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 83 states. [2018-11-18 23:12:30,250 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 83 states. [2018-11-18 23:12:30,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:30,256 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2018-11-18 23:12:30,256 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 174 transitions. [2018-11-18 23:12:30,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:30,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:30,257 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 147 states. [2018-11-18 23:12:30,257 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 147 states. [2018-11-18 23:12:30,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:30,263 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2018-11-18 23:12:30,263 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 174 transitions. [2018-11-18 23:12:30,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:30,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:30,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:30,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:30,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-11-18 23:12:30,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 101 transitions. [2018-11-18 23:12:30,267 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 101 transitions. Word has length 45 [2018-11-18 23:12:30,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:30,267 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 101 transitions. [2018-11-18 23:12:30,267 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-18 23:12:30,267 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 101 transitions. [2018-11-18 23:12:30,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-18 23:12:30,268 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:30,268 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:30,269 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:30,269 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:30,269 INFO L82 PathProgramCache]: Analyzing trace with hash -1723860980, now seen corresponding path program 1 times [2018-11-18 23:12:30,269 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:30,269 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:30,270 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:30,270 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:12:30,270 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:30,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:30,914 INFO L256 TraceCheckUtils]: 0: Hoare triple {3279#true} call ULTIMATE.init(); {3279#true} is VALID [2018-11-18 23:12:30,914 INFO L273 TraceCheckUtils]: 1: Hoare triple {3279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3279#true} is VALID [2018-11-18 23:12:30,915 INFO L273 TraceCheckUtils]: 2: Hoare triple {3279#true} assume true; {3279#true} is VALID [2018-11-18 23:12:30,915 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3279#true} {3279#true} #90#return; {3279#true} is VALID [2018-11-18 23:12:30,915 INFO L256 TraceCheckUtils]: 4: Hoare triple {3279#true} call #t~ret9 := main(); {3279#true} is VALID [2018-11-18 23:12:30,916 INFO L273 TraceCheckUtils]: 5: Hoare triple {3279#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3279#true} is VALID [2018-11-18 23:12:30,919 INFO L273 TraceCheckUtils]: 6: Hoare triple {3279#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; {3281#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,921 INFO L273 TraceCheckUtils]: 7: Hoare triple {3281#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,927 INFO L273 TraceCheckUtils]: 8: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume true; {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,933 INFO L273 TraceCheckUtils]: 9: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,940 INFO L273 TraceCheckUtils]: 10: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,940 INFO L273 TraceCheckUtils]: 11: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,941 INFO L273 TraceCheckUtils]: 12: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,941 INFO L273 TraceCheckUtils]: 13: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,942 INFO L273 TraceCheckUtils]: 14: Hoare triple {3282#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume !(~value~0 != ~DEFAULTVAL~0);call write~int(~FIXEDVAL~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,943 INFO L273 TraceCheckUtils]: 15: Hoare triple {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,946 INFO L273 TraceCheckUtils]: 16: Hoare triple {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,947 INFO L273 TraceCheckUtils]: 17: Hoare triple {3283#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1) (<= 2 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3284#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))) (<= (* 4 main_~i~0) 8) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,947 INFO L273 TraceCheckUtils]: 18: Hoare triple {3284#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))) (<= (* 4 main_~i~0) 8) (<= 2 ~SIZE~0))} assume true; {3284#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))) (<= (* 4 main_~i~0) 8) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:30,948 INFO L273 TraceCheckUtils]: 19: Hoare triple {3284#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))) (<= (* 4 main_~i~0) 8) (<= 2 ~SIZE~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {3285#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,949 INFO L273 TraceCheckUtils]: 20: Hoare triple {3285#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)))} ~i~0 := 0; {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:30,949 INFO L273 TraceCheckUtils]: 21: Hoare triple {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} assume true; {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:30,950 INFO L273 TraceCheckUtils]: 22: Hoare triple {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:30,950 INFO L256 TraceCheckUtils]: 23: Hoare triple {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3279#true} is VALID [2018-11-18 23:12:30,950 INFO L273 TraceCheckUtils]: 24: Hoare triple {3279#true} ~cond := #in~cond; {3279#true} is VALID [2018-11-18 23:12:30,951 INFO L273 TraceCheckUtils]: 25: Hoare triple {3279#true} assume !(0 == ~cond); {3279#true} is VALID [2018-11-18 23:12:30,951 INFO L273 TraceCheckUtils]: 26: Hoare triple {3279#true} assume true; {3279#true} is VALID [2018-11-18 23:12:30,952 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3279#true} {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} #88#return; {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:30,953 INFO L273 TraceCheckUtils]: 28: Hoare triple {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} havoc #t~mem8; {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:30,954 INFO L273 TraceCheckUtils]: 29: Hoare triple {3286#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (<= (* 4 (div ~SIZE~0 4)) 4) (<= 1 (div ~SIZE~0 4)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,955 INFO L273 TraceCheckUtils]: 30: Hoare triple {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} assume true; {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,956 INFO L273 TraceCheckUtils]: 31: Hoare triple {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,956 INFO L256 TraceCheckUtils]: 32: Hoare triple {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3279#true} is VALID [2018-11-18 23:12:30,957 INFO L273 TraceCheckUtils]: 33: Hoare triple {3279#true} ~cond := #in~cond; {3279#true} is VALID [2018-11-18 23:12:30,957 INFO L273 TraceCheckUtils]: 34: Hoare triple {3279#true} assume !(0 == ~cond); {3279#true} is VALID [2018-11-18 23:12:30,957 INFO L273 TraceCheckUtils]: 35: Hoare triple {3279#true} assume true; {3279#true} is VALID [2018-11-18 23:12:30,958 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3279#true} {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} #88#return; {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,959 INFO L273 TraceCheckUtils]: 37: Hoare triple {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} havoc #t~mem8; {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} is VALID [2018-11-18 23:12:30,960 INFO L273 TraceCheckUtils]: 38: Hoare triple {3287#(and (<= (* 4 (div ~SIZE~0 4)) 4) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0)) (<= 1 (div ~SIZE~0 4)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3288#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:12:30,960 INFO L273 TraceCheckUtils]: 39: Hoare triple {3288#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume true; {3288#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:12:30,960 INFO L273 TraceCheckUtils]: 40: Hoare triple {3288#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3289#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:12:30,961 INFO L256 TraceCheckUtils]: 41: Hoare triple {3289#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3290#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:12:30,962 INFO L273 TraceCheckUtils]: 42: Hoare triple {3290#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3291#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:12:30,963 INFO L273 TraceCheckUtils]: 43: Hoare triple {3291#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3280#false} is VALID [2018-11-18 23:12:30,963 INFO L273 TraceCheckUtils]: 44: Hoare triple {3280#false} assume !false; {3280#false} is VALID [2018-11-18 23:12:30,970 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:30,970 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:30,970 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-18 23:12:30,979 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:30,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:31,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:31,018 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:31,130 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:12:31,136 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:12:31,138 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,141 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,154 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-18 23:12:31,154 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-18 23:12:31,158 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:31,207 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 18 [2018-11-18 23:12:31,223 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:12:31,226 INFO L477 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-18 23:12:31,230 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,236 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,246 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-18 23:12:31,246 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-18 23:12:31,250 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:31,565 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:12:31,570 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-18 23:12:31,573 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,575 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:31,585 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-18 23:12:31,586 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:12:31,587 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:31,658 INFO L256 TraceCheckUtils]: 0: Hoare triple {3279#true} call ULTIMATE.init(); {3279#true} is VALID [2018-11-18 23:12:31,659 INFO L273 TraceCheckUtils]: 1: Hoare triple {3279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3279#true} is VALID [2018-11-18 23:12:31,659 INFO L273 TraceCheckUtils]: 2: Hoare triple {3279#true} assume true; {3279#true} is VALID [2018-11-18 23:12:31,659 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3279#true} {3279#true} #90#return; {3279#true} is VALID [2018-11-18 23:12:31,659 INFO L256 TraceCheckUtils]: 4: Hoare triple {3279#true} call #t~ret9 := main(); {3279#true} is VALID [2018-11-18 23:12:31,660 INFO L273 TraceCheckUtils]: 5: Hoare triple {3279#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3279#true} is VALID [2018-11-18 23:12:31,661 INFO L273 TraceCheckUtils]: 6: Hoare triple {3279#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; {3313#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,661 INFO L273 TraceCheckUtils]: 7: Hoare triple {3313#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,662 INFO L273 TraceCheckUtils]: 8: Hoare triple {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,662 INFO L273 TraceCheckUtils]: 9: Hoare triple {3317#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,663 INFO L273 TraceCheckUtils]: 10: Hoare triple {3317#(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 * (4 * ~i~0 - 4), 4); {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,663 INFO L273 TraceCheckUtils]: 11: Hoare triple {3317#(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; {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,664 INFO L273 TraceCheckUtils]: 12: Hoare triple {3317#(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 * (4 * ~i~0 - 3), 4); {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,664 INFO L273 TraceCheckUtils]: 13: Hoare triple {3317#(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; {3317#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,666 INFO L273 TraceCheckUtils]: 14: Hoare triple {3317#(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 * (4 * ~i~0 - 2), 4); {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,667 INFO L273 TraceCheckUtils]: 15: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |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; {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,668 INFO L273 TraceCheckUtils]: 16: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |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 * (4 * ~i~0 - 1), 4); {3346#(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-18 23:12:31,669 INFO L273 TraceCheckUtils]: 17: Hoare triple {3346#(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; {3346#(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-18 23:12:31,670 INFO L273 TraceCheckUtils]: 18: Hoare triple {3346#(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 true; {3346#(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-18 23:12:31,671 INFO L273 TraceCheckUtils]: 19: Hoare triple {3346#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {3346#(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-18 23:12:31,671 INFO L273 TraceCheckUtils]: 20: Hoare triple {3346#(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; {3359#(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-18 23:12:31,672 INFO L273 TraceCheckUtils]: 21: Hoare triple {3359#(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 true; {3359#(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-18 23:12:31,673 INFO L273 TraceCheckUtils]: 22: Hoare triple {3359#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3359#(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-18 23:12:31,675 INFO L256 TraceCheckUtils]: 23: Hoare triple {3359#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,675 INFO L273 TraceCheckUtils]: 24: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} ~cond := #in~cond; {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,676 INFO L273 TraceCheckUtils]: 25: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} assume !(0 == ~cond); {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,676 INFO L273 TraceCheckUtils]: 26: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} assume true; {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,677 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} {3359#(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))} #88#return; {3359#(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-18 23:12:31,677 INFO L273 TraceCheckUtils]: 28: Hoare triple {3359#(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~mem8; {3359#(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-18 23:12:31,678 INFO L273 TraceCheckUtils]: 29: Hoare triple {3359#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,679 INFO L273 TraceCheckUtils]: 30: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,680 INFO L273 TraceCheckUtils]: 31: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,682 INFO L256 TraceCheckUtils]: 32: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,682 INFO L273 TraceCheckUtils]: 33: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} ~cond := #in~cond; {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,683 INFO L273 TraceCheckUtils]: 34: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} assume !(0 == ~cond); {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,684 INFO L273 TraceCheckUtils]: 35: Hoare triple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} assume true; {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} is VALID [2018-11-18 23:12:31,685 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3369#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #88#return; {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,685 INFO L273 TraceCheckUtils]: 37: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,686 INFO L273 TraceCheckUtils]: 38: Hoare triple {3339#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {3415#(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-18 23:12:31,687 INFO L273 TraceCheckUtils]: 39: Hoare triple {3415#(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 true; {3415#(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-18 23:12:31,688 INFO L273 TraceCheckUtils]: 40: Hoare triple {3415#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {3422#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:31,689 INFO L256 TraceCheckUtils]: 41: Hoare triple {3422#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3426#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:12:31,690 INFO L273 TraceCheckUtils]: 42: Hoare triple {3426#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3430#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:12:31,691 INFO L273 TraceCheckUtils]: 43: Hoare triple {3430#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3280#false} is VALID [2018-11-18 23:12:31,691 INFO L273 TraceCheckUtils]: 44: Hoare triple {3280#false} assume !false; {3280#false} is VALID [2018-11-18 23:12:31,697 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:12:31,716 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:31,716 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-18 23:12:31,716 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-18 23:12:31,717 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:31,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-18 23:12:31,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:31,813 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-18 23:12:31,813 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-18 23:12:31,813 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=447, Unknown=0, NotChecked=0, Total=506 [2018-11-18 23:12:31,814 INFO L87 Difference]: Start difference. First operand 83 states and 101 transitions. Second operand 23 states. [2018-11-18 23:12:42,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:42,340 INFO L93 Difference]: Finished difference Result 165 states and 193 transitions. [2018-11-18 23:12:42,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-18 23:12:42,340 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-18 23:12:42,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:12:42,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:42,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 136 transitions. [2018-11-18 23:12:42,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:12:42,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 136 transitions. [2018-11-18 23:12:42,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 136 transitions. [2018-11-18 23:12:42,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:12:42,577 INFO L225 Difference]: With dead ends: 165 [2018-11-18 23:12:42,577 INFO L226 Difference]: Without dead ends: 163 [2018-11-18 23:12:42,579 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 33 SyntacticMatches, 5 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 417 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=302, Invalid=1678, Unknown=0, NotChecked=0, Total=1980 [2018-11-18 23:12:42,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-11-18 23:12:43,055 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 88. [2018-11-18 23:12:43,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:12:43,056 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 88 states. [2018-11-18 23:12:43,056 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 88 states. [2018-11-18 23:12:43,056 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 88 states. [2018-11-18 23:12:43,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:43,063 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2018-11-18 23:12:43,063 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 191 transitions. [2018-11-18 23:12:43,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:43,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:43,064 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 163 states. [2018-11-18 23:12:43,065 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 163 states. [2018-11-18 23:12:43,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:12:43,071 INFO L93 Difference]: Finished difference Result 163 states and 191 transitions. [2018-11-18 23:12:43,071 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 191 transitions. [2018-11-18 23:12:43,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:12:43,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:12:43,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:12:43,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:12:43,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2018-11-18 23:12:43,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 108 transitions. [2018-11-18 23:12:43,075 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 108 transitions. Word has length 45 [2018-11-18 23:12:43,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:12:43,076 INFO L480 AbstractCegarLoop]: Abstraction has 88 states and 108 transitions. [2018-11-18 23:12:43,076 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-18 23:12:43,076 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 108 transitions. [2018-11-18 23:12:43,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-18 23:12:43,077 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:12:43,077 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:12:43,077 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:12:43,077 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:12:43,077 INFO L82 PathProgramCache]: Analyzing trace with hash -710757172, now seen corresponding path program 3 times [2018-11-18 23:12:43,077 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:12:43,078 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:12:43,078 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:43,078 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:12:43,079 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:12:43,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:43,727 WARN L180 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 9 [2018-11-18 23:12:44,029 INFO L256 TraceCheckUtils]: 0: Hoare triple {4122#true} call ULTIMATE.init(); {4122#true} is VALID [2018-11-18 23:12:44,030 INFO L273 TraceCheckUtils]: 1: Hoare triple {4122#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4122#true} is VALID [2018-11-18 23:12:44,030 INFO L273 TraceCheckUtils]: 2: Hoare triple {4122#true} assume true; {4122#true} is VALID [2018-11-18 23:12:44,030 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4122#true} {4122#true} #90#return; {4122#true} is VALID [2018-11-18 23:12:44,031 INFO L256 TraceCheckUtils]: 4: Hoare triple {4122#true} call #t~ret9 := main(); {4122#true} is VALID [2018-11-18 23:12:44,031 INFO L273 TraceCheckUtils]: 5: Hoare triple {4122#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4122#true} is VALID [2018-11-18 23:12:44,032 INFO L273 TraceCheckUtils]: 6: Hoare triple {4122#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; {4124#(or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0))} is VALID [2018-11-18 23:12:44,033 INFO L273 TraceCheckUtils]: 7: Hoare triple {4124#(or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,033 INFO L273 TraceCheckUtils]: 8: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume true; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,034 INFO L273 TraceCheckUtils]: 9: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,034 INFO L273 TraceCheckUtils]: 10: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,035 INFO L273 TraceCheckUtils]: 11: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,036 INFO L273 TraceCheckUtils]: 12: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,037 INFO L273 TraceCheckUtils]: 13: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,037 INFO L273 TraceCheckUtils]: 14: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,038 INFO L273 TraceCheckUtils]: 15: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:12:44,039 INFO L273 TraceCheckUtils]: 16: Hoare triple {4125#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {4126#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 16 main_~i~0) (- 4))))))} is VALID [2018-11-18 23:12:44,041 INFO L273 TraceCheckUtils]: 17: Hoare triple {4126#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 16 main_~i~0) (- 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4127#(and (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4))))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8))} is VALID [2018-11-18 23:12:44,042 INFO L273 TraceCheckUtils]: 18: Hoare triple {4127#(and (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4))))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8))} assume true; {4127#(and (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4))))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8))} is VALID [2018-11-18 23:12:44,043 INFO L273 TraceCheckUtils]: 19: Hoare triple {4127#(and (or (<= (* 4 main_~i~0) 7) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4))))))) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {4128#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)))} is VALID [2018-11-18 23:12:44,044 INFO L273 TraceCheckUtils]: 20: Hoare triple {4128#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)))} ~i~0 := 0; {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:44,045 INFO L273 TraceCheckUtils]: 21: Hoare triple {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} assume true; {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:44,046 INFO L273 TraceCheckUtils]: 22: Hoare triple {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:44,046 INFO L256 TraceCheckUtils]: 23: Hoare triple {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4122#true} is VALID [2018-11-18 23:12:44,046 INFO L273 TraceCheckUtils]: 24: Hoare triple {4122#true} ~cond := #in~cond; {4122#true} is VALID [2018-11-18 23:12:44,046 INFO L273 TraceCheckUtils]: 25: Hoare triple {4122#true} assume !(0 == ~cond); {4122#true} is VALID [2018-11-18 23:12:44,047 INFO L273 TraceCheckUtils]: 26: Hoare triple {4122#true} assume true; {4122#true} is VALID [2018-11-18 23:12:44,048 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4122#true} {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} #88#return; {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:44,049 INFO L273 TraceCheckUtils]: 28: Hoare triple {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} havoc #t~mem8; {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:12:44,050 INFO L273 TraceCheckUtils]: 29: Hoare triple {4129#(and (<= ~SIZE~0 4) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 3)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:12:44,050 INFO L273 TraceCheckUtils]: 30: Hoare triple {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} assume true; {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:12:44,051 INFO L273 TraceCheckUtils]: 31: Hoare triple {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:12:44,051 INFO L256 TraceCheckUtils]: 32: Hoare triple {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4122#true} is VALID [2018-11-18 23:12:44,051 INFO L273 TraceCheckUtils]: 33: Hoare triple {4122#true} ~cond := #in~cond; {4122#true} is VALID [2018-11-18 23:12:44,051 INFO L273 TraceCheckUtils]: 34: Hoare triple {4122#true} assume !(0 == ~cond); {4122#true} is VALID [2018-11-18 23:12:44,051 INFO L273 TraceCheckUtils]: 35: Hoare triple {4122#true} assume true; {4122#true} is VALID [2018-11-18 23:12:44,052 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4122#true} {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} #88#return; {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:12:44,053 INFO L273 TraceCheckUtils]: 37: Hoare triple {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} havoc #t~mem8; {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:12:44,055 INFO L273 TraceCheckUtils]: 38: Hoare triple {4130#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 2))))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:44,055 INFO L273 TraceCheckUtils]: 39: Hoare triple {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} assume true; {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:44,056 INFO L273 TraceCheckUtils]: 40: Hoare triple {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:44,057 INFO L256 TraceCheckUtils]: 41: Hoare triple {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4122#true} is VALID [2018-11-18 23:12:44,057 INFO L273 TraceCheckUtils]: 42: Hoare triple {4122#true} ~cond := #in~cond; {4122#true} is VALID [2018-11-18 23:12:44,057 INFO L273 TraceCheckUtils]: 43: Hoare triple {4122#true} assume !(0 == ~cond); {4122#true} is VALID [2018-11-18 23:12:44,057 INFO L273 TraceCheckUtils]: 44: Hoare triple {4122#true} assume true; {4122#true} is VALID [2018-11-18 23:12:44,058 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {4122#true} {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} #88#return; {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:44,059 INFO L273 TraceCheckUtils]: 46: Hoare triple {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} havoc #t~mem8; {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:12:44,074 INFO L273 TraceCheckUtils]: 47: Hoare triple {4131#(and (or (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))))) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4132#(or (<= ~SIZE~0 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))))} is VALID [2018-11-18 23:12:44,075 INFO L273 TraceCheckUtils]: 48: Hoare triple {4132#(or (<= ~SIZE~0 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))))} assume true; {4132#(or (<= ~SIZE~0 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))))))} is VALID [2018-11-18 23:12:44,075 INFO L273 TraceCheckUtils]: 49: Hoare triple {4132#(or (<= ~SIZE~0 main_~i~0) (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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4133#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:12:44,076 INFO L256 TraceCheckUtils]: 50: Hoare triple {4133#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:12:44,076 INFO L273 TraceCheckUtils]: 51: Hoare triple {4134#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4135#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:12:44,077 INFO L273 TraceCheckUtils]: 52: Hoare triple {4135#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4123#false} is VALID [2018-11-18 23:12:44,077 INFO L273 TraceCheckUtils]: 53: Hoare triple {4123#false} assume !false; {4123#false} is VALID [2018-11-18 23:12:44,086 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 11 proven. 21 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:12:44,086 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:12:44,086 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-18 23:12:44,096 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-18 23:12:44,124 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-18 23:12:44,124 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:12:44,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:12:44,142 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:12:44,243 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:12:44,248 INFO L477 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 10 treesize of output 9 [2018-11-18 23:12:44,287 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:44,291 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:44,297 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-18 23:12:44,298 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:21, output treesize:14 [2018-11-18 23:12:44,301 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:48,238 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 16 [2018-11-18 23:12:48,249 INFO L477 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-18 23:12:48,250 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:12:48,251 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:12:48,254 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-18 23:12:48,254 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:23, output treesize:8 [2018-11-18 23:12:48,257 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:12:48,320 INFO L256 TraceCheckUtils]: 0: Hoare triple {4122#true} call ULTIMATE.init(); {4122#true} is VALID [2018-11-18 23:12:48,320 INFO L273 TraceCheckUtils]: 1: Hoare triple {4122#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4122#true} is VALID [2018-11-18 23:12:48,320 INFO L273 TraceCheckUtils]: 2: Hoare triple {4122#true} assume true; {4122#true} is VALID [2018-11-18 23:12:48,320 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4122#true} {4122#true} #90#return; {4122#true} is VALID [2018-11-18 23:12:48,320 INFO L256 TraceCheckUtils]: 4: Hoare triple {4122#true} call #t~ret9 := main(); {4122#true} is VALID [2018-11-18 23:12:48,320 INFO L273 TraceCheckUtils]: 5: Hoare triple {4122#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4122#true} is VALID [2018-11-18 23:12:48,321 INFO L273 TraceCheckUtils]: 6: Hoare triple {4122#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; {4157#(= main_~DEFAULTVAL~0 0)} is VALID [2018-11-18 23:12:48,322 INFO L273 TraceCheckUtils]: 7: Hoare triple {4157#(= main_~DEFAULTVAL~0 0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,322 INFO L273 TraceCheckUtils]: 8: Hoare triple {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume true; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,323 INFO L273 TraceCheckUtils]: 9: Hoare triple {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,323 INFO L273 TraceCheckUtils]: 10: Hoare triple {4161#(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 * (4 * ~i~0 - 4), 4); {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,324 INFO L273 TraceCheckUtils]: 11: Hoare triple {4161#(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; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,324 INFO L273 TraceCheckUtils]: 12: Hoare triple {4161#(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 * (4 * ~i~0 - 3), 4); {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,325 INFO L273 TraceCheckUtils]: 13: Hoare triple {4161#(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; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,325 INFO L273 TraceCheckUtils]: 14: Hoare triple {4161#(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 * (4 * ~i~0 - 2), 4); {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,326 INFO L273 TraceCheckUtils]: 15: Hoare triple {4161#(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; {4161#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,327 INFO L273 TraceCheckUtils]: 16: Hoare triple {4161#(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 * (4 * ~i~0 - 1), 4); {4189#(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-18 23:12:48,327 INFO L273 TraceCheckUtils]: 17: Hoare triple {4189#(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; {4189#(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-18 23:12:48,328 INFO L273 TraceCheckUtils]: 18: Hoare triple {4189#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} assume true; {4189#(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-18 23:12:48,329 INFO L273 TraceCheckUtils]: 19: Hoare triple {4189#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {4189#(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-18 23:12:48,330 INFO L273 TraceCheckUtils]: 20: Hoare triple {4189#(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; {4202#(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-18 23:12:48,330 INFO L273 TraceCheckUtils]: 21: Hoare triple {4202#(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 true; {4202#(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-18 23:12:48,331 INFO L273 TraceCheckUtils]: 22: Hoare triple {4202#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4202#(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-18 23:12:48,333 INFO L256 TraceCheckUtils]: 23: Hoare triple {4202#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4212#(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-18 23:12:48,334 INFO L273 TraceCheckUtils]: 24: Hoare triple {4212#(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; {4212#(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-18 23:12:48,334 INFO L273 TraceCheckUtils]: 25: Hoare triple {4212#(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); {4212#(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-18 23:12:48,335 INFO L273 TraceCheckUtils]: 26: Hoare triple {4212#(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; {4212#(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-18 23:12:48,336 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4212#(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)))} {4202#(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))} #88#return; {4202#(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-18 23:12:48,337 INFO L273 TraceCheckUtils]: 28: Hoare triple {4202#(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~mem8; {4202#(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-18 23:12:48,337 INFO L273 TraceCheckUtils]: 29: Hoare triple {4202#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4231#(and (= main_~i~0 1) (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-18 23:12:48,338 INFO L273 TraceCheckUtils]: 30: Hoare triple {4231#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} assume true; {4231#(and (= main_~i~0 1) (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-18 23:12:48,339 INFO L273 TraceCheckUtils]: 31: Hoare triple {4231#(and (= main_~i~0 1) (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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4231#(and (= main_~i~0 1) (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-18 23:12:48,341 INFO L256 TraceCheckUtils]: 32: Hoare triple {4231#(and (= main_~i~0 1) (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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4212#(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-18 23:12:48,341 INFO L273 TraceCheckUtils]: 33: Hoare triple {4212#(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; {4212#(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-18 23:12:48,342 INFO L273 TraceCheckUtils]: 34: Hoare triple {4212#(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); {4212#(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-18 23:12:48,342 INFO L273 TraceCheckUtils]: 35: Hoare triple {4212#(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; {4212#(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-18 23:12:48,344 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4212#(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)))} {4231#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} #88#return; {4231#(and (= main_~i~0 1) (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-18 23:12:48,344 INFO L273 TraceCheckUtils]: 37: Hoare triple {4231#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {4231#(and (= main_~i~0 1) (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-18 23:12:48,345 INFO L273 TraceCheckUtils]: 38: Hoare triple {4231#(and (= main_~i~0 1) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12)))) (= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4259#(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-18 23:12:48,346 INFO L273 TraceCheckUtils]: 39: Hoare triple {4259#(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 true; {4259#(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-18 23:12:48,347 INFO L273 TraceCheckUtils]: 40: Hoare triple {4259#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4259#(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-18 23:12:48,348 INFO L256 TraceCheckUtils]: 41: Hoare triple {4259#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4212#(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-18 23:12:48,349 INFO L273 TraceCheckUtils]: 42: Hoare triple {4212#(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; {4212#(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-18 23:12:48,350 INFO L273 TraceCheckUtils]: 43: Hoare triple {4212#(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); {4212#(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-18 23:12:48,350 INFO L273 TraceCheckUtils]: 44: Hoare triple {4212#(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; {4212#(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-18 23:12:48,351 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {4212#(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)))} {4259#(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))} #88#return; {4259#(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-18 23:12:48,352 INFO L273 TraceCheckUtils]: 46: Hoare triple {4259#(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~mem8; {4259#(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-18 23:12:48,353 INFO L273 TraceCheckUtils]: 47: Hoare triple {4259#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {4287#(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-18 23:12:48,353 INFO L273 TraceCheckUtils]: 48: Hoare triple {4287#(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 true; {4287#(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-18 23:12:48,354 INFO L273 TraceCheckUtils]: 49: Hoare triple {4287#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {4294#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:12:48,355 INFO L256 TraceCheckUtils]: 50: Hoare triple {4294#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4298#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:12:48,356 INFO L273 TraceCheckUtils]: 51: Hoare triple {4298#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4302#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:12:48,357 INFO L273 TraceCheckUtils]: 52: Hoare triple {4302#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4123#false} is VALID [2018-11-18 23:12:48,357 INFO L273 TraceCheckUtils]: 53: Hoare triple {4123#false} assume !false; {4123#false} is VALID [2018-11-18 23:12:48,364 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:12:48,383 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:12:48,383 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-18 23:12:48,384 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 54 [2018-11-18 23:12:48,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:12:48,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-18 23:12:48,485 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-18 23:12:48,485 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-18 23:12:48,485 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-18 23:12:48,486 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=524, Unknown=0, NotChecked=0, Total=600 [2018-11-18 23:12:48,486 INFO L87 Difference]: Start difference. First operand 88 states and 108 transitions. Second operand 25 states. [2018-11-18 23:14:03,095 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification that was a NOOP. DAG size: 21 [2018-11-18 23:14:07,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:07,614 INFO L93 Difference]: Finished difference Result 254 states and 315 transitions. [2018-11-18 23:14:07,615 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-18 23:14:07,615 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 54 [2018-11-18 23:14:07,615 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:14:07,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:07,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 177 transitions. [2018-11-18 23:14:07,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:07,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 177 transitions. [2018-11-18 23:14:07,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 177 transitions. [2018-11-18 23:14:07,931 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 177 edges. 177 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:14:07,942 INFO L225 Difference]: With dead ends: 254 [2018-11-18 23:14:07,943 INFO L226 Difference]: Without dead ends: 226 [2018-11-18 23:14:07,944 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 43 SyntacticMatches, 5 SemanticMatches, 48 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 637 ImplicationChecksByTransitivity, 10.0s TimeCoverageRelationStatistics Valid=369, Invalid=2079, Unknown=2, NotChecked=0, Total=2450 [2018-11-18 23:14:07,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 226 states. [2018-11-18 23:14:08,724 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 226 to 206. [2018-11-18 23:14:08,724 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:14:08,724 INFO L82 GeneralOperation]: Start isEquivalent. First operand 226 states. Second operand 206 states. [2018-11-18 23:14:08,725 INFO L74 IsIncluded]: Start isIncluded. First operand 226 states. Second operand 206 states. [2018-11-18 23:14:08,725 INFO L87 Difference]: Start difference. First operand 226 states. Second operand 206 states. [2018-11-18 23:14:08,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:08,732 INFO L93 Difference]: Finished difference Result 226 states and 280 transitions. [2018-11-18 23:14:08,732 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 280 transitions. [2018-11-18 23:14:08,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:08,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:08,733 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand 226 states. [2018-11-18 23:14:08,733 INFO L87 Difference]: Start difference. First operand 206 states. Second operand 226 states. [2018-11-18 23:14:08,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:08,740 INFO L93 Difference]: Finished difference Result 226 states and 280 transitions. [2018-11-18 23:14:08,740 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 280 transitions. [2018-11-18 23:14:08,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:08,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:08,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:14:08,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:14:08,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 206 states. [2018-11-18 23:14:08,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 206 states to 206 states and 258 transitions. [2018-11-18 23:14:08,747 INFO L78 Accepts]: Start accepts. Automaton has 206 states and 258 transitions. Word has length 54 [2018-11-18 23:14:08,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:14:08,747 INFO L480 AbstractCegarLoop]: Abstraction has 206 states and 258 transitions. [2018-11-18 23:14:08,747 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-18 23:14:08,747 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 258 transitions. [2018-11-18 23:14:08,748 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-18 23:14:08,748 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:14:08,748 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:14:08,749 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:14:08,749 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:14:08,749 INFO L82 PathProgramCache]: Analyzing trace with hash -1740116470, now seen corresponding path program 1 times [2018-11-18 23:14:08,749 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:14:08,749 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:14:08,750 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:08,750 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:14:08,750 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:08,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:09,285 WARN L180 SmtUtils]: Spent 256.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 15 [2018-11-18 23:14:09,818 INFO L256 TraceCheckUtils]: 0: Hoare triple {5380#true} call ULTIMATE.init(); {5380#true} is VALID [2018-11-18 23:14:09,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {5380#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5380#true} is VALID [2018-11-18 23:14:09,818 INFO L273 TraceCheckUtils]: 2: Hoare triple {5380#true} assume true; {5380#true} is VALID [2018-11-18 23:14:09,818 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5380#true} {5380#true} #90#return; {5380#true} is VALID [2018-11-18 23:14:09,819 INFO L256 TraceCheckUtils]: 4: Hoare triple {5380#true} call #t~ret9 := main(); {5380#true} is VALID [2018-11-18 23:14:09,819 INFO L273 TraceCheckUtils]: 5: Hoare triple {5380#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5380#true} is VALID [2018-11-18 23:14:09,820 INFO L273 TraceCheckUtils]: 6: Hoare triple {5380#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; {5382#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0)))} is VALID [2018-11-18 23:14:09,821 INFO L273 TraceCheckUtils]: 7: Hoare triple {5382#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0)))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,822 INFO L273 TraceCheckUtils]: 8: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume true; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,823 INFO L273 TraceCheckUtils]: 9: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,824 INFO L273 TraceCheckUtils]: 10: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 4), 4); {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,825 INFO L273 TraceCheckUtils]: 11: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,826 INFO L273 TraceCheckUtils]: 12: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 3), 4); {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,827 INFO L273 TraceCheckUtils]: 13: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,828 INFO L273 TraceCheckUtils]: 14: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 2), 4); {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,829 INFO L273 TraceCheckUtils]: 15: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,830 INFO L273 TraceCheckUtils]: 16: Hoare triple {5383#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (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 * (4 * ~i~0 - 1), 4); {5384#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 16 main_~i~0) (- 4))) main_~DEFAULTVAL~0)) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-18 23:14:09,831 INFO L273 TraceCheckUtils]: 17: Hoare triple {5384#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 16 main_~i~0) (- 4))) main_~DEFAULTVAL~0)) (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5385#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4)))) main_~DEFAULTVAL~0))))} is VALID [2018-11-18 23:14:09,833 INFO L273 TraceCheckUtils]: 18: Hoare triple {5385#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4)))) main_~DEFAULTVAL~0))))} assume true; {5385#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4)))) main_~DEFAULTVAL~0))))} is VALID [2018-11-18 23:14:09,835 INFO L273 TraceCheckUtils]: 19: Hoare triple {5385#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= (* 4 main_~i~0) 8) (or (<= (* 4 main_~i~0) 7) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ (* 4 main_~i~0) (- 4))) (- 4)))) main_~DEFAULTVAL~0))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {5386#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)))} is VALID [2018-11-18 23:14:09,836 INFO L273 TraceCheckUtils]: 20: Hoare triple {5386#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)))} ~i~0 := 0; {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:09,837 INFO L273 TraceCheckUtils]: 21: Hoare triple {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} assume true; {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:09,837 INFO L273 TraceCheckUtils]: 22: Hoare triple {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:09,837 INFO L256 TraceCheckUtils]: 23: Hoare triple {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5380#true} is VALID [2018-11-18 23:14:09,838 INFO L273 TraceCheckUtils]: 24: Hoare triple {5380#true} ~cond := #in~cond; {5380#true} is VALID [2018-11-18 23:14:09,838 INFO L273 TraceCheckUtils]: 25: Hoare triple {5380#true} assume !(0 == ~cond); {5380#true} is VALID [2018-11-18 23:14:09,838 INFO L273 TraceCheckUtils]: 26: Hoare triple {5380#true} assume true; {5380#true} is VALID [2018-11-18 23:14:09,839 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5380#true} {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} #88#return; {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:09,841 INFO L273 TraceCheckUtils]: 28: Hoare triple {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} havoc #t~mem8; {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:09,842 INFO L273 TraceCheckUtils]: 29: Hoare triple {5387#(and (<= ~SIZE~0 4) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 3)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:14:09,847 INFO L273 TraceCheckUtils]: 30: Hoare triple {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} assume true; {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:14:09,847 INFO L273 TraceCheckUtils]: 31: Hoare triple {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:14:09,848 INFO L256 TraceCheckUtils]: 32: Hoare triple {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5380#true} is VALID [2018-11-18 23:14:09,848 INFO L273 TraceCheckUtils]: 33: Hoare triple {5380#true} ~cond := #in~cond; {5380#true} is VALID [2018-11-18 23:14:09,848 INFO L273 TraceCheckUtils]: 34: Hoare triple {5380#true} assume !(0 == ~cond); {5380#true} is VALID [2018-11-18 23:14:09,848 INFO L273 TraceCheckUtils]: 35: Hoare triple {5380#true} assume true; {5380#true} is VALID [2018-11-18 23:14:09,850 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5380#true} {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} #88#return; {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:14:09,850 INFO L273 TraceCheckUtils]: 37: Hoare triple {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} havoc #t~mem8; {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} is VALID [2018-11-18 23:14:09,852 INFO L273 TraceCheckUtils]: 38: Hoare triple {5388#(and (<= ~SIZE~0 (+ main_~i~0 3)) (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 2))))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:14:09,853 INFO L273 TraceCheckUtils]: 39: Hoare triple {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} assume true; {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:14:09,854 INFO L273 TraceCheckUtils]: 40: Hoare triple {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:14:09,854 INFO L256 TraceCheckUtils]: 41: Hoare triple {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5380#true} is VALID [2018-11-18 23:14:09,854 INFO L273 TraceCheckUtils]: 42: Hoare triple {5380#true} ~cond := #in~cond; {5380#true} is VALID [2018-11-18 23:14:09,854 INFO L273 TraceCheckUtils]: 43: Hoare triple {5380#true} assume !(0 == ~cond); {5380#true} is VALID [2018-11-18 23:14:09,855 INFO L273 TraceCheckUtils]: 44: Hoare triple {5380#true} assume true; {5380#true} is VALID [2018-11-18 23:14:09,856 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {5380#true} {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} #88#return; {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:14:09,858 INFO L273 TraceCheckUtils]: 46: Hoare triple {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} havoc #t~mem8; {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} is VALID [2018-11-18 23:14:09,859 INFO L273 TraceCheckUtils]: 47: Hoare triple {5389#(and (or (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 ~SIZE~0) (- 4)))) main_~DEFAULTVAL~0)) (<= ~SIZE~0 (+ main_~i~0 1))) (<= ~SIZE~0 (+ main_~i~0 2)))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5390#(or (<= ~SIZE~0 main_~i~0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:09,860 INFO L273 TraceCheckUtils]: 48: Hoare triple {5390#(or (<= ~SIZE~0 main_~i~0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)))} assume true; {5390#(or (<= ~SIZE~0 main_~i~0) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:09,864 INFO L273 TraceCheckUtils]: 49: Hoare triple {5390#(or (<= ~SIZE~0 main_~i~0) (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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5391#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:09,866 INFO L256 TraceCheckUtils]: 50: Hoare triple {5391#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5392#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:14:09,866 INFO L273 TraceCheckUtils]: 51: Hoare triple {5392#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5393#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:14:09,868 INFO L273 TraceCheckUtils]: 52: Hoare triple {5393#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5381#false} is VALID [2018-11-18 23:14:09,868 INFO L273 TraceCheckUtils]: 53: Hoare triple {5381#false} assume !false; {5381#false} is VALID [2018-11-18 23:14:09,876 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 11 proven. 21 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:14:09,877 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:14:09,877 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:14:09,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:14:09,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:09,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:09,931 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:14:10,241 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-18 23:14:10,252 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-18 23:14:10,254 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:10,257 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:10,269 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-18 23:14:10,269 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:23, output treesize:16 [2018-11-18 23:14:10,272 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:10,778 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:14:10,782 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-18 23:14:10,788 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:10,789 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:10,793 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-18 23:14:10,793 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:14:10,796 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:10,871 INFO L256 TraceCheckUtils]: 0: Hoare triple {5380#true} call ULTIMATE.init(); {5380#true} is VALID [2018-11-18 23:14:10,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {5380#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {5380#true} is VALID [2018-11-18 23:14:10,871 INFO L273 TraceCheckUtils]: 2: Hoare triple {5380#true} assume true; {5380#true} is VALID [2018-11-18 23:14:10,871 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5380#true} {5380#true} #90#return; {5380#true} is VALID [2018-11-18 23:14:10,871 INFO L256 TraceCheckUtils]: 4: Hoare triple {5380#true} call #t~ret9 := main(); {5380#true} is VALID [2018-11-18 23:14:10,872 INFO L273 TraceCheckUtils]: 5: Hoare triple {5380#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {5380#true} is VALID [2018-11-18 23:14:10,873 INFO L273 TraceCheckUtils]: 6: Hoare triple {5380#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; {5415#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,873 INFO L273 TraceCheckUtils]: 7: Hoare triple {5415#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,874 INFO L273 TraceCheckUtils]: 8: Hoare triple {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,875 INFO L273 TraceCheckUtils]: 9: Hoare triple {5419#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,876 INFO L273 TraceCheckUtils]: 10: Hoare triple {5419#(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 * (4 * ~i~0 - 4), 4); {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,877 INFO L273 TraceCheckUtils]: 11: Hoare triple {5419#(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; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,878 INFO L273 TraceCheckUtils]: 12: Hoare triple {5419#(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 * (4 * ~i~0 - 3), 4); {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,878 INFO L273 TraceCheckUtils]: 13: Hoare triple {5419#(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; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,879 INFO L273 TraceCheckUtils]: 14: Hoare triple {5419#(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 * (4 * ~i~0 - 2), 4); {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,880 INFO L273 TraceCheckUtils]: 15: Hoare triple {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |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; {5419#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,881 INFO L273 TraceCheckUtils]: 16: Hoare triple {5419#(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 * (4 * ~i~0 - 1), 4); {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,882 INFO L273 TraceCheckUtils]: 17: Hoare triple {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,882 INFO L273 TraceCheckUtils]: 18: Hoare triple {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,883 INFO L273 TraceCheckUtils]: 19: Hoare triple {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,884 INFO L273 TraceCheckUtils]: 20: Hoare triple {5447#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} ~i~0 := 0; {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,885 INFO L273 TraceCheckUtils]: 21: Hoare triple {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,886 INFO L273 TraceCheckUtils]: 22: Hoare triple {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,888 INFO L256 TraceCheckUtils]: 23: Hoare triple {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,888 INFO L273 TraceCheckUtils]: 24: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} ~cond := #in~cond; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,889 INFO L273 TraceCheckUtils]: 25: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume !(0 == ~cond); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,890 INFO L273 TraceCheckUtils]: 26: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume true; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,891 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #88#return; {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,891 INFO L273 TraceCheckUtils]: 28: Hoare triple {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,892 INFO L273 TraceCheckUtils]: 29: Hoare triple {5460#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,893 INFO L273 TraceCheckUtils]: 30: Hoare triple {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,912 INFO L273 TraceCheckUtils]: 31: Hoare triple {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,917 INFO L256 TraceCheckUtils]: 32: Hoare triple {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,917 INFO L273 TraceCheckUtils]: 33: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} ~cond := #in~cond; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,928 INFO L273 TraceCheckUtils]: 34: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume !(0 == ~cond); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,929 INFO L273 TraceCheckUtils]: 35: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume true; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,930 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #88#return; {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,930 INFO L273 TraceCheckUtils]: 37: Hoare triple {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,931 INFO L273 TraceCheckUtils]: 38: Hoare triple {5489#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 1) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,931 INFO L273 TraceCheckUtils]: 39: Hoare triple {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,932 INFO L273 TraceCheckUtils]: 40: Hoare triple {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,934 INFO L256 TraceCheckUtils]: 41: Hoare triple {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,934 INFO L273 TraceCheckUtils]: 42: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} ~cond := #in~cond; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,935 INFO L273 TraceCheckUtils]: 43: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume !(0 == ~cond); {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,936 INFO L273 TraceCheckUtils]: 44: Hoare triple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} assume true; {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} is VALID [2018-11-18 23:14:10,937 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {5470#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) 12)))} {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #88#return; {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,937 INFO L273 TraceCheckUtils]: 46: Hoare triple {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,938 INFO L273 TraceCheckUtils]: 47: Hoare triple {5517#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 2) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {5545#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 3) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,939 INFO L273 TraceCheckUtils]: 48: Hoare triple {5545#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 3) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {5545#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 3) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,940 INFO L273 TraceCheckUtils]: 49: Hoare triple {5545#(and (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 12))) (= main_~i~0 3) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {5552#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:10,941 INFO L256 TraceCheckUtils]: 50: Hoare triple {5552#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {5556#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:14:10,942 INFO L273 TraceCheckUtils]: 51: Hoare triple {5556#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {5560#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:14:10,943 INFO L273 TraceCheckUtils]: 52: Hoare triple {5560#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5381#false} is VALID [2018-11-18 23:14:10,943 INFO L273 TraceCheckUtils]: 53: Hoare triple {5381#false} assume !false; {5381#false} is VALID [2018-11-18 23:14:10,951 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 32 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-18 23:14:10,969 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:14:10,970 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-18 23:14:10,970 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 54 [2018-11-18 23:14:10,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:14:10,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-18 23:14:11,113 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-18 23:14:11,114 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-18 23:14:11,114 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-18 23:14:11,114 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=534, Unknown=0, NotChecked=0, Total=600 [2018-11-18 23:14:11,114 INFO L87 Difference]: Start difference. First operand 206 states and 258 transitions. Second operand 25 states. [2018-11-18 23:14:12,664 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 32 [2018-11-18 23:14:22,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:22,011 INFO L93 Difference]: Finished difference Result 349 states and 434 transitions. [2018-11-18 23:14:22,011 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2018-11-18 23:14:22,011 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 54 [2018-11-18 23:14:22,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:14:22,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:22,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 182 transitions. [2018-11-18 23:14:22,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:22,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 182 transitions. [2018-11-18 23:14:22,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states and 182 transitions. [2018-11-18 23:14:22,298 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:14:22,308 INFO L225 Difference]: With dead ends: 349 [2018-11-18 23:14:22,309 INFO L226 Difference]: Without dead ends: 321 [2018-11-18 23:14:22,310 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 40 SyntacticMatches, 5 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 507 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=325, Invalid=1931, Unknown=0, NotChecked=0, Total=2256 [2018-11-18 23:14:22,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 321 states. [2018-11-18 23:14:23,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 321 to 255. [2018-11-18 23:14:23,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:14:23,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 321 states. Second operand 255 states. [2018-11-18 23:14:23,026 INFO L74 IsIncluded]: Start isIncluded. First operand 321 states. Second operand 255 states. [2018-11-18 23:14:23,026 INFO L87 Difference]: Start difference. First operand 321 states. Second operand 255 states. [2018-11-18 23:14:23,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:23,037 INFO L93 Difference]: Finished difference Result 321 states and 399 transitions. [2018-11-18 23:14:23,037 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 399 transitions. [2018-11-18 23:14:23,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:23,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:23,039 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand 321 states. [2018-11-18 23:14:23,039 INFO L87 Difference]: Start difference. First operand 255 states. Second operand 321 states. [2018-11-18 23:14:23,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:23,049 INFO L93 Difference]: Finished difference Result 321 states and 399 transitions. [2018-11-18 23:14:23,049 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 399 transitions. [2018-11-18 23:14:23,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:23,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:23,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:14:23,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:14:23,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 255 states. [2018-11-18 23:14:23,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 330 transitions. [2018-11-18 23:14:23,057 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 330 transitions. Word has length 54 [2018-11-18 23:14:23,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:14:23,058 INFO L480 AbstractCegarLoop]: Abstraction has 255 states and 330 transitions. [2018-11-18 23:14:23,058 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-18 23:14:23,058 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 330 transitions. [2018-11-18 23:14:23,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-18 23:14:23,059 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:14:23,059 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 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] [2018-11-18 23:14:23,059 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:14:23,059 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:14:23,060 INFO L82 PathProgramCache]: Analyzing trace with hash -1816794633, now seen corresponding path program 1 times [2018-11-18 23:14:23,060 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:14:23,060 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:14:23,060 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:23,061 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:14:23,061 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:23,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:23,523 WARN L180 SmtUtils]: Spent 248.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 7 [2018-11-18 23:14:24,538 INFO L256 TraceCheckUtils]: 0: Hoare triple {6994#true} call ULTIMATE.init(); {6994#true} is VALID [2018-11-18 23:14:24,538 INFO L273 TraceCheckUtils]: 1: Hoare triple {6994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6994#true} is VALID [2018-11-18 23:14:24,538 INFO L273 TraceCheckUtils]: 2: Hoare triple {6994#true} assume true; {6994#true} is VALID [2018-11-18 23:14:24,539 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6994#true} {6994#true} #90#return; {6994#true} is VALID [2018-11-18 23:14:24,539 INFO L256 TraceCheckUtils]: 4: Hoare triple {6994#true} call #t~ret9 := main(); {6994#true} is VALID [2018-11-18 23:14:24,539 INFO L273 TraceCheckUtils]: 5: Hoare triple {6994#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6994#true} is VALID [2018-11-18 23:14:24,540 INFO L273 TraceCheckUtils]: 6: Hoare triple {6994#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; {6996#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,541 INFO L273 TraceCheckUtils]: 7: Hoare triple {6996#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,541 INFO L273 TraceCheckUtils]: 8: Hoare triple {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume true; {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,542 INFO L273 TraceCheckUtils]: 9: Hoare triple {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,542 INFO L273 TraceCheckUtils]: 10: Hoare triple {6997#(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 * (4 * ~i~0 - 4), 4); {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,543 INFO L273 TraceCheckUtils]: 11: Hoare triple {6997#(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; {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,544 INFO L273 TraceCheckUtils]: 12: Hoare triple {6997#(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 * (4 * ~i~0 - 3), 4); {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,544 INFO L273 TraceCheckUtils]: 13: Hoare triple {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {6997#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,546 INFO L273 TraceCheckUtils]: 14: Hoare triple {6997#(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 * (4 * ~i~0 - 2), 4); {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,546 INFO L273 TraceCheckUtils]: 15: Hoare triple {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,548 INFO L273 TraceCheckUtils]: 16: Hoare triple {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} is VALID [2018-11-18 23:14:24,548 INFO L273 TraceCheckUtils]: 17: Hoare triple {6998#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8))) main_~DEFAULTVAL~0)) (= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,549 INFO L273 TraceCheckUtils]: 18: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} assume true; {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,550 INFO L273 TraceCheckUtils]: 19: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,551 INFO L273 TraceCheckUtils]: 20: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,552 INFO L273 TraceCheckUtils]: 21: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,553 INFO L273 TraceCheckUtils]: 22: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} is VALID [2018-11-18 23:14:24,554 INFO L273 TraceCheckUtils]: 23: Hoare triple {6999#(and (not (= (* 16 main_~i~0) 16)) (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {7000#(not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)) main_~value~0) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,555 INFO L273 TraceCheckUtils]: 24: Hoare triple {7000#(not (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)) main_~value~0) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,556 INFO L273 TraceCheckUtils]: 25: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,557 INFO L273 TraceCheckUtils]: 26: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,558 INFO L273 TraceCheckUtils]: 27: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,558 INFO L273 TraceCheckUtils]: 28: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} assume true; {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,559 INFO L273 TraceCheckUtils]: 29: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,559 INFO L273 TraceCheckUtils]: 30: Hoare triple {7001#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0))} ~i~0 := 0; {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:24,560 INFO L273 TraceCheckUtils]: 31: Hoare triple {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} assume true; {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:24,561 INFO L273 TraceCheckUtils]: 32: Hoare triple {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:24,561 INFO L256 TraceCheckUtils]: 33: Hoare triple {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {6994#true} is VALID [2018-11-18 23:14:24,562 INFO L273 TraceCheckUtils]: 34: Hoare triple {6994#true} ~cond := #in~cond; {6994#true} is VALID [2018-11-18 23:14:24,562 INFO L273 TraceCheckUtils]: 35: Hoare triple {6994#true} assume !(0 == ~cond); {6994#true} is VALID [2018-11-18 23:14:24,562 INFO L273 TraceCheckUtils]: 36: Hoare triple {6994#true} assume true; {6994#true} is VALID [2018-11-18 23:14:24,563 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6994#true} {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #88#return; {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:24,564 INFO L273 TraceCheckUtils]: 38: Hoare triple {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} havoc #t~mem8; {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} is VALID [2018-11-18 23:14:24,565 INFO L273 TraceCheckUtils]: 39: Hoare triple {7002#(and (not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 4) (- 8)))) main_~DEFAULTVAL~0)) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,565 INFO L273 TraceCheckUtils]: 40: Hoare triple {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} assume true; {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,566 INFO L273 TraceCheckUtils]: 41: Hoare triple {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,566 INFO L256 TraceCheckUtils]: 42: Hoare triple {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {6994#true} is VALID [2018-11-18 23:14:24,566 INFO L273 TraceCheckUtils]: 43: Hoare triple {6994#true} ~cond := #in~cond; {6994#true} is VALID [2018-11-18 23:14:24,566 INFO L273 TraceCheckUtils]: 44: Hoare triple {6994#true} assume !(0 == ~cond); {6994#true} is VALID [2018-11-18 23:14:24,567 INFO L273 TraceCheckUtils]: 45: Hoare triple {6994#true} assume true; {6994#true} is VALID [2018-11-18 23:14:24,568 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {6994#true} {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} #88#return; {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,568 INFO L273 TraceCheckUtils]: 47: Hoare triple {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} havoc #t~mem8; {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,569 INFO L273 TraceCheckUtils]: 48: Hoare triple {7003#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 3)) (- 8)))) main_~DEFAULTVAL~0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7004#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,570 INFO L273 TraceCheckUtils]: 49: Hoare triple {7004#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume true; {7004#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,570 INFO L273 TraceCheckUtils]: 50: Hoare triple {7004#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7005#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-18 23:14:24,571 INFO L256 TraceCheckUtils]: 51: Hoare triple {7005#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {7006#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:14:24,571 INFO L273 TraceCheckUtils]: 52: Hoare triple {7006#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7007#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:14:24,571 INFO L273 TraceCheckUtils]: 53: Hoare triple {7007#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6995#false} is VALID [2018-11-18 23:14:24,571 INFO L273 TraceCheckUtils]: 54: Hoare triple {6995#false} assume !false; {6995#false} is VALID [2018-11-18 23:14:24,579 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 4 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:14:24,579 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:14:24,580 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:14:24,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:14:24,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:24,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:24,631 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:14:24,746 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:14:24,752 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 12 [2018-11-18 23:14:24,756 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,761 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,773 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-18 23:14:24,774 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-18 23:14:24,777 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:24,827 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 24 [2018-11-18 23:14:24,833 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:24,837 INFO L477 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-18 23:14:24,840 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,848 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,862 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-18 23:14:24,862 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-18 23:14:24,866 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:24,922 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-18 23:14:24,928 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:24,931 INFO L477 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-18 23:14:24,938 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,944 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:24,956 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-18 23:14:24,957 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-18 23:14:24,961 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:24,980 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-18 23:14:24,987 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:24,991 INFO L477 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-18 23:14:24,999 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,013 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,034 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-18 23:14:25,034 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-18 23:14:25,037 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:25,118 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-18 23:14:25,127 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:25,131 INFO L477 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-18 23:14:25,135 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,149 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,168 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-18 23:14:25,168 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:19 [2018-11-18 23:14:25,173 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:25,220 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 21 [2018-11-18 23:14:25,230 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:25,235 INFO L477 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-18 23:14:25,237 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,248 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,270 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-18 23:14:25,270 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:35, output treesize:16 [2018-11-18 23:14:25,277 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:25,671 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:14:25,676 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2018-11-18 23:14:25,680 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,681 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:25,686 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-18 23:14:25,686 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:14:25,688 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:25,762 INFO L256 TraceCheckUtils]: 0: Hoare triple {6994#true} call ULTIMATE.init(); {6994#true} is VALID [2018-11-18 23:14:25,763 INFO L273 TraceCheckUtils]: 1: Hoare triple {6994#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {6994#true} is VALID [2018-11-18 23:14:25,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {6994#true} assume true; {6994#true} is VALID [2018-11-18 23:14:25,763 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6994#true} {6994#true} #90#return; {6994#true} is VALID [2018-11-18 23:14:25,763 INFO L256 TraceCheckUtils]: 4: Hoare triple {6994#true} call #t~ret9 := main(); {6994#true} is VALID [2018-11-18 23:14:25,764 INFO L273 TraceCheckUtils]: 5: Hoare triple {6994#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {6994#true} is VALID [2018-11-18 23:14:25,764 INFO L273 TraceCheckUtils]: 6: Hoare triple {6994#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; {7029#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,765 INFO L273 TraceCheckUtils]: 7: Hoare triple {7029#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,765 INFO L273 TraceCheckUtils]: 8: Hoare triple {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,766 INFO L273 TraceCheckUtils]: 9: Hoare triple {7033#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,767 INFO L273 TraceCheckUtils]: 10: Hoare triple {7033#(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 * (4 * ~i~0 - 4), 4); {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,767 INFO L273 TraceCheckUtils]: 11: Hoare triple {7033#(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; {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,768 INFO L273 TraceCheckUtils]: 12: Hoare triple {7033#(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 * (4 * ~i~0 - 3), 4); {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,768 INFO L273 TraceCheckUtils]: 13: Hoare triple {7033#(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; {7033#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,769 INFO L273 TraceCheckUtils]: 14: Hoare triple {7033#(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 * (4 * ~i~0 - 2), 4); {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,770 INFO L273 TraceCheckUtils]: 15: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |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; {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,771 INFO L273 TraceCheckUtils]: 16: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |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 * (4 * ~i~0 - 1), 4); {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,772 INFO L273 TraceCheckUtils]: 17: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |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; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,773 INFO L273 TraceCheckUtils]: 18: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,774 INFO L273 TraceCheckUtils]: 19: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,775 INFO L273 TraceCheckUtils]: 20: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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 * (4 * ~i~0 - 4), 4); {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,776 INFO L273 TraceCheckUtils]: 21: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,777 INFO L273 TraceCheckUtils]: 22: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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 * (4 * ~i~0 - 3), 4); {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,778 INFO L273 TraceCheckUtils]: 23: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,779 INFO L273 TraceCheckUtils]: 24: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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 * (4 * ~i~0 - 2), 4); {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,780 INFO L273 TraceCheckUtils]: 25: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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; {7065#(and (<= 2 main_~i~0) (<= 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-18 23:14:25,781 INFO L273 TraceCheckUtils]: 26: Hoare triple {7065#(and (<= 2 main_~i~0) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 8))) (= |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 * (4 * ~i~0 - 1), 4); {7093#(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-18 23:14:25,782 INFO L273 TraceCheckUtils]: 27: Hoare triple {7093#(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; {7093#(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-18 23:14:25,782 INFO L273 TraceCheckUtils]: 28: Hoare triple {7093#(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 true; {7093#(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-18 23:14:25,783 INFO L273 TraceCheckUtils]: 29: Hoare triple {7093#(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 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {7093#(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-18 23:14:25,784 INFO L273 TraceCheckUtils]: 30: Hoare triple {7093#(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; {7106#(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-18 23:14:25,785 INFO L273 TraceCheckUtils]: 31: Hoare triple {7106#(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 true; {7106#(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-18 23:14:25,785 INFO L273 TraceCheckUtils]: 32: Hoare triple {7106#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7106#(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-18 23:14:25,787 INFO L256 TraceCheckUtils]: 33: Hoare triple {7106#(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~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,789 INFO L273 TraceCheckUtils]: 34: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} ~cond := #in~cond; {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,789 INFO L273 TraceCheckUtils]: 35: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} assume !(0 == ~cond); {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,790 INFO L273 TraceCheckUtils]: 36: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} assume true; {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,791 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} {7106#(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))} #88#return; {7106#(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-18 23:14:25,792 INFO L273 TraceCheckUtils]: 38: Hoare triple {7106#(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~mem8; {7106#(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-18 23:14:25,792 INFO L273 TraceCheckUtils]: 39: Hoare triple {7106#(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~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,793 INFO L273 TraceCheckUtils]: 40: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,813 INFO L273 TraceCheckUtils]: 41: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,826 INFO L256 TraceCheckUtils]: 42: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,835 INFO L273 TraceCheckUtils]: 43: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} ~cond := #in~cond; {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,848 INFO L273 TraceCheckUtils]: 44: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} assume !(0 == ~cond); {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,856 INFO L273 TraceCheckUtils]: 45: Hoare triple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} assume true; {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} is VALID [2018-11-18 23:14:25,870 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {7116#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) 8)))} {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #88#return; {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,879 INFO L273 TraceCheckUtils]: 47: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} havoc #t~mem8; {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,893 INFO L273 TraceCheckUtils]: 48: Hoare triple {7055#(and (= main_~i~0 1) (<= 10 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 8)))) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {7162#(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-18 23:14:25,902 INFO L273 TraceCheckUtils]: 49: Hoare triple {7162#(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 true; {7162#(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-18 23:14:25,903 INFO L273 TraceCheckUtils]: 50: Hoare triple {7162#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {7169#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-18 23:14:25,905 INFO L256 TraceCheckUtils]: 51: Hoare triple {7169#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {7173#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-18 23:14:25,905 INFO L273 TraceCheckUtils]: 52: Hoare triple {7173#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {7177#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-18 23:14:25,907 INFO L273 TraceCheckUtils]: 53: Hoare triple {7177#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6995#false} is VALID [2018-11-18 23:14:25,907 INFO L273 TraceCheckUtils]: 54: Hoare triple {6995#false} assume !false; {6995#false} is VALID [2018-11-18 23:14:25,915 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 0 proven. 29 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:14:25,933 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:14:25,934 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-18 23:14:25,934 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 55 [2018-11-18 23:14:25,935 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:14:25,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-18 23:14:26,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:14:26,045 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-18 23:14:26,046 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-18 23:14:26,046 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=516, Unknown=0, NotChecked=0, Total=600 [2018-11-18 23:14:26,046 INFO L87 Difference]: Start difference. First operand 255 states and 330 transitions. Second operand 25 states. [2018-11-18 23:14:33,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:33,407 INFO L93 Difference]: Finished difference Result 432 states and 527 transitions. [2018-11-18 23:14:33,407 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-18 23:14:33,408 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 55 [2018-11-18 23:14:33,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:14:33,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:33,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 161 transitions. [2018-11-18 23:14:33,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-18 23:14:33,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 161 transitions. [2018-11-18 23:14:33,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 161 transitions. [2018-11-18 23:14:33,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:14:33,932 INFO L225 Difference]: With dead ends: 432 [2018-11-18 23:14:33,932 INFO L226 Difference]: Without dead ends: 430 [2018-11-18 23:14:33,935 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 45 SyntacticMatches, 8 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 597 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=374, Invalid=1978, Unknown=0, NotChecked=0, Total=2352 [2018-11-18 23:14:33,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 430 states. [2018-11-18 23:14:35,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 430 to 282. [2018-11-18 23:14:35,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:14:35,087 INFO L82 GeneralOperation]: Start isEquivalent. First operand 430 states. Second operand 282 states. [2018-11-18 23:14:35,087 INFO L74 IsIncluded]: Start isIncluded. First operand 430 states. Second operand 282 states. [2018-11-18 23:14:35,088 INFO L87 Difference]: Start difference. First operand 430 states. Second operand 282 states. [2018-11-18 23:14:35,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:35,101 INFO L93 Difference]: Finished difference Result 430 states and 522 transitions. [2018-11-18 23:14:35,102 INFO L276 IsEmpty]: Start isEmpty. Operand 430 states and 522 transitions. [2018-11-18 23:14:35,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:35,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:35,103 INFO L74 IsIncluded]: Start isIncluded. First operand 282 states. Second operand 430 states. [2018-11-18 23:14:35,103 INFO L87 Difference]: Start difference. First operand 282 states. Second operand 430 states. [2018-11-18 23:14:35,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:14:35,118 INFO L93 Difference]: Finished difference Result 430 states and 522 transitions. [2018-11-18 23:14:35,119 INFO L276 IsEmpty]: Start isEmpty. Operand 430 states and 522 transitions. [2018-11-18 23:14:35,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:14:35,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:14:35,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:14:35,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:14:35,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 282 states. [2018-11-18 23:14:35,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 282 states to 282 states and 372 transitions. [2018-11-18 23:14:35,129 INFO L78 Accepts]: Start accepts. Automaton has 282 states and 372 transitions. Word has length 55 [2018-11-18 23:14:35,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:14:35,129 INFO L480 AbstractCegarLoop]: Abstraction has 282 states and 372 transitions. [2018-11-18 23:14:35,129 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-18 23:14:35,129 INFO L276 IsEmpty]: Start isEmpty. Operand 282 states and 372 transitions. [2018-11-18 23:14:35,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-18 23:14:35,131 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:14:35,131 INFO L375 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:14:35,131 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:14:35,131 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:14:35,131 INFO L82 PathProgramCache]: Analyzing trace with hash 1915697525, now seen corresponding path program 4 times [2018-11-18 23:14:35,131 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:14:35,132 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:14:35,132 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:35,132 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:14:35,133 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:14:35,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:36,037 WARN L180 SmtUtils]: Spent 170.00 ms on a formula simplification. DAG size of input: 20 DAG size of output: 17 [2018-11-18 23:14:36,315 INFO L256 TraceCheckUtils]: 0: Hoare triple {8950#true} call ULTIMATE.init(); {8950#true} is VALID [2018-11-18 23:14:36,315 INFO L273 TraceCheckUtils]: 1: Hoare triple {8950#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {8950#true} is VALID [2018-11-18 23:14:36,315 INFO L273 TraceCheckUtils]: 2: Hoare triple {8950#true} assume true; {8950#true} is VALID [2018-11-18 23:14:36,316 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8950#true} {8950#true} #90#return; {8950#true} is VALID [2018-11-18 23:14:36,316 INFO L256 TraceCheckUtils]: 4: Hoare triple {8950#true} call #t~ret9 := main(); {8950#true} is VALID [2018-11-18 23:14:36,316 INFO L273 TraceCheckUtils]: 5: Hoare triple {8950#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {8950#true} is VALID [2018-11-18 23:14:36,316 INFO L273 TraceCheckUtils]: 6: Hoare triple {8950#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; {8950#true} is VALID [2018-11-18 23:14:36,317 INFO L273 TraceCheckUtils]: 7: Hoare triple {8950#true} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4));assume 0 != (if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) then 1 else 0);~i~0 := 1; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,317 INFO L273 TraceCheckUtils]: 8: Hoare triple {8952#(= main_~i~0 1)} assume true; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,318 INFO L273 TraceCheckUtils]: 9: Hoare triple {8952#(= main_~i~0 1)} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,318 INFO L273 TraceCheckUtils]: 10: Hoare triple {8952#(= main_~i~0 1)} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,318 INFO L273 TraceCheckUtils]: 11: Hoare triple {8952#(= main_~i~0 1)} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,319 INFO L273 TraceCheckUtils]: 12: Hoare triple {8952#(= main_~i~0 1)} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,319 INFO L273 TraceCheckUtils]: 13: Hoare triple {8952#(= main_~i~0 1)} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,319 INFO L273 TraceCheckUtils]: 14: Hoare triple {8952#(= main_~i~0 1)} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,319 INFO L273 TraceCheckUtils]: 15: Hoare triple {8952#(= main_~i~0 1)} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,320 INFO L273 TraceCheckUtils]: 16: Hoare triple {8952#(= main_~i~0 1)} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {8952#(= main_~i~0 1)} is VALID [2018-11-18 23:14:36,321 INFO L273 TraceCheckUtils]: 17: Hoare triple {8952#(= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,321 INFO L273 TraceCheckUtils]: 18: Hoare triple {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume true; {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,322 INFO L273 TraceCheckUtils]: 19: Hoare triple {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,323 INFO L273 TraceCheckUtils]: 20: Hoare triple {8953#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 4), 4); {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,324 INFO L273 TraceCheckUtils]: 21: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} call #t~ret4 := ReadFromPort();assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~value~0 := #t~ret4;havoc #t~ret4; {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,325 INFO L273 TraceCheckUtils]: 22: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 3), 4); {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,326 INFO L273 TraceCheckUtils]: 23: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} call #t~ret5 := ReadFromPort();assume -2147483648 <= #t~ret5 && #t~ret5 <= 2147483647;~value~0 := #t~ret5;havoc #t~ret5; {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,327 INFO L273 TraceCheckUtils]: 24: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 2), 4); {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,328 INFO L273 TraceCheckUtils]: 25: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} call #t~ret6 := ReadFromPort();assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~value~0 := #t~ret6;havoc #t~ret6; {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,329 INFO L273 TraceCheckUtils]: 26: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} assume ~value~0 != ~DEFAULTVAL~0;call write~int(~value~0, ~#a~0.base, ~#a~0.offset + 4 * (4 * ~i~0 - 1), 4); {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} is VALID [2018-11-18 23:14:36,330 INFO L273 TraceCheckUtils]: 27: Hoare triple {8954#(and (<= 2 main_~i~0) (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ (* 16 main_~i~0) |main_~#a~0.offset| (- 16))))) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} is VALID [2018-11-18 23:14:36,331 INFO L273 TraceCheckUtils]: 28: Hoare triple {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} assume true; {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} is VALID [2018-11-18 23:14:36,331 INFO L273 TraceCheckUtils]: 29: Hoare triple {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 4 then 1 + ~SIZE~0 / 4 else ~SIZE~0 / 4)); {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} is VALID [2018-11-18 23:14:36,332 INFO L273 TraceCheckUtils]: 30: Hoare triple {8955#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16))))))} ~i~0 := 0; {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:14:36,332 INFO L273 TraceCheckUtils]: 31: Hoare triple {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} assume true; {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:14:36,333 INFO L273 TraceCheckUtils]: 32: Hoare triple {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:14:36,334 INFO L256 TraceCheckUtils]: 33: Hoare triple {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {8950#true} is VALID [2018-11-18 23:14:36,334 INFO L273 TraceCheckUtils]: 34: Hoare triple {8950#true} ~cond := #in~cond; {8950#true} is VALID [2018-11-18 23:14:36,334 INFO L273 TraceCheckUtils]: 35: Hoare triple {8950#true} assume !(0 == ~cond); {8950#true} is VALID [2018-11-18 23:14:36,334 INFO L273 TraceCheckUtils]: 36: Hoare triple {8950#true} assume true; {8950#true} is VALID [2018-11-18 23:14:36,335 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8950#true} {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} #88#return; {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:14:36,336 INFO L273 TraceCheckUtils]: 38: Hoare triple {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} havoc #t~mem8; {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} is VALID [2018-11-18 23:14:36,337 INFO L273 TraceCheckUtils]: 39: Hoare triple {8956#(and (not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 8) (- 16)))))) (= main_~i~0 0))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} is VALID [2018-11-18 23:14:36,337 INFO L273 TraceCheckUtils]: 40: Hoare triple {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} assume true; {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} is VALID [2018-11-18 23:14:36,337 INFO L273 TraceCheckUtils]: 41: Hoare triple {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} is VALID [2018-11-18 23:14:36,337 INFO L256 TraceCheckUtils]: 42: Hoare triple {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {8950#true} is VALID [2018-11-18 23:14:36,338 INFO L273 TraceCheckUtils]: 43: Hoare triple {8950#true} ~cond := #in~cond; {8950#true} is VALID [2018-11-18 23:14:36,338 INFO L273 TraceCheckUtils]: 44: Hoare triple {8950#true} assume !(0 == ~cond); {8950#true} is VALID [2018-11-18 23:14:36,338 INFO L273 TraceCheckUtils]: 45: Hoare triple {8950#true} assume true; {8950#true} is VALID [2018-11-18 23:14:36,338 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {8950#true} {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} #88#return; {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} is VALID [2018-11-18 23:14:36,339 INFO L273 TraceCheckUtils]: 47: Hoare triple {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} havoc #t~mem8; {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} is VALID [2018-11-18 23:14:36,339 INFO L273 TraceCheckUtils]: 48: Hoare triple {8957#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 7)) (- 16))))))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} is VALID [2018-11-18 23:14:36,340 INFO L273 TraceCheckUtils]: 49: Hoare triple {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} assume true; {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} is VALID [2018-11-18 23:14:36,340 INFO L273 TraceCheckUtils]: 50: Hoare triple {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} is VALID [2018-11-18 23:14:36,340 INFO L256 TraceCheckUtils]: 51: Hoare triple {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {8950#true} is VALID [2018-11-18 23:14:36,341 INFO L273 TraceCheckUtils]: 52: Hoare triple {8950#true} ~cond := #in~cond; {8950#true} is VALID [2018-11-18 23:14:36,341 INFO L273 TraceCheckUtils]: 53: Hoare triple {8950#true} assume !(0 == ~cond); {8950#true} is VALID [2018-11-18 23:14:36,341 INFO L273 TraceCheckUtils]: 54: Hoare triple {8950#true} assume true; {8950#true} is VALID [2018-11-18 23:14:36,342 INFO L268 TraceCheckUtils]: 55: Hoare quadruple {8950#true} {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} #88#return; {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} is VALID [2018-11-18 23:14:36,342 INFO L273 TraceCheckUtils]: 56: Hoare triple {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} havoc #t~mem8; {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} is VALID [2018-11-18 23:14:36,343 INFO L273 TraceCheckUtils]: 57: Hoare triple {8958#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 6)) (- 16))))))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} is VALID [2018-11-18 23:14:36,344 INFO L273 TraceCheckUtils]: 58: Hoare triple {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} assume true; {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} is VALID [2018-11-18 23:14:36,344 INFO L273 TraceCheckUtils]: 59: Hoare triple {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} is VALID [2018-11-18 23:14:36,345 INFO L256 TraceCheckUtils]: 60: Hoare triple {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {8950#true} is VALID [2018-11-18 23:14:36,345 INFO L273 TraceCheckUtils]: 61: Hoare triple {8950#true} ~cond := #in~cond; {8950#true} is VALID [2018-11-18 23:14:36,345 INFO L273 TraceCheckUtils]: 62: Hoare triple {8950#true} assume !(0 == ~cond); {8950#true} is VALID [2018-11-18 23:14:36,345 INFO L273 TraceCheckUtils]: 63: Hoare triple {8950#true} assume true; {8950#true} is VALID [2018-11-18 23:14:36,346 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {8950#true} {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} #88#return; {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} is VALID [2018-11-18 23:14:36,346 INFO L273 TraceCheckUtils]: 65: Hoare triple {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} havoc #t~mem8; {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} is VALID [2018-11-18 23:14:36,347 INFO L273 TraceCheckUtils]: 66: Hoare triple {8959#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (+ (* 4 (+ main_~i~0 5)) (- 16))))))} #t~post7 := ~i~0;~i~0 := 1 + #t~post7;havoc #t~post7; {8960#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:14:36,348 INFO L273 TraceCheckUtils]: 67: Hoare triple {8960#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume true; {8960#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-18 23:14:36,349 INFO L273 TraceCheckUtils]: 68: Hoare triple {8960#(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~mem8 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~i~0, 4); {8961#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-18 23:14:36,349 INFO L256 TraceCheckUtils]: 69: Hoare triple {8961#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {8962#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-18 23:14:36,350 INFO L273 TraceCheckUtils]: 70: Hoare triple {8962#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {8963#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-18 23:14:36,351 INFO L273 TraceCheckUtils]: 71: Hoare triple {8963#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {8951#false} is VALID [2018-11-18 23:14:36,351 INFO L273 TraceCheckUtils]: 72: Hoare triple {8951#false} assume !false; {8951#false} is VALID [2018-11-18 23:14:36,364 INFO L134 CoverageAnalysis]: Checked inductivity of 88 backedges. 8 proven. 56 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-18 23:14:36,364 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:14:36,364 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:14:36,375 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-18 23:14:36,403 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-18 23:14:36,403 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:14:36,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:14:36,439 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:14:36,550 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-18 23:14:36,554 INFO L477 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-18 23:14:36,555 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,558 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,569 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-18 23:14:36,570 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:23 [2018-11-18 23:14:36,573 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:36,612 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:14:36,617 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:36,619 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-18 23:14:36,621 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,629 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,640 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-18 23:14:36,641 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:39, output treesize:23 [2018-11-18 23:14:36,644 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:36,658 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-18 23:14:36,664 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:36,665 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-18 23:14:36,667 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,674 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,686 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-18 23:14:36,686 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:39, output treesize:23 [2018-11-18 23:14:36,690 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:36,702 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 19 [2018-11-18 23:14:36,709 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:14:36,710 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 28 [2018-11-18 23:14:36,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,718 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:36,727 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-18 23:14:36,728 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-18 23:14:36,734 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:14:37,308 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 12 [2018-11-18 23:14:37,335 INFO L477 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-18 23:14:37,354 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:14:37,355 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:14:37,358 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-18 23:14:37,359 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-18 23:14:37,363 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN.