java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/array-tiling/pnr4_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:52:34,445 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:52:34,449 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:52:34,461 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:52:34,462 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:52:34,463 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:52:34,464 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:52:34,466 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:52:34,468 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:52:34,469 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:52:34,470 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:52:34,470 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:52:34,471 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:52:34,473 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:52:34,474 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:52:34,475 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:52:34,476 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:52:34,477 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:52:34,484 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:52:34,486 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:52:34,487 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:52:34,491 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:52:34,496 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:52:34,496 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:52:34,496 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:52:34,500 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:52:34,502 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:52:34,503 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:52:34,503 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:52:34,504 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:52:34,504 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:52:34,507 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:52:34,507 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:52:34,507 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:52:34,510 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:52:34,511 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:52:34,511 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:52:34,525 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:52:34,526 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:52:34,527 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:52:34,527 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:52:34,527 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:52:34,527 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:52:34,528 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:52:34,528 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:52:34,528 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:52:34,528 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:52:34,529 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:52:34,530 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:52:34,530 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:52:34,530 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:52:34,530 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:52:34,530 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:52:34,531 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:52:34,531 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:52:34,531 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:52:34,531 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:52:34,531 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:52:34,532 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:52:34,532 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:52:34,532 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:52:34,532 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:52:34,532 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:52:34,575 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:52:34,588 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:52:34,591 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:52:34,592 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:52:34,593 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:52:34,593 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-14 18:52:34,651 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3f6afd78/929b3043f1d04db1b80dc7ea1fca6b9a/FLAG6df5cd08d [2018-11-14 18:52:35,058 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:52:35,059 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/pnr4_true-unreach-call.i [2018-11-14 18:52:35,067 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3f6afd78/929b3043f1d04db1b80dc7ea1fca6b9a/FLAG6df5cd08d [2018-11-14 18:52:35,083 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d3f6afd78/929b3043f1d04db1b80dc7ea1fca6b9a [2018-11-14 18:52:35,097 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:52:35,099 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:52:35,099 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:52:35,100 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:52:35,104 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:52:35,105 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,108 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@f14d601 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35, skipping insertion in model container [2018-11-14 18:52:35,109 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,118 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:52:35,144 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:52:35,403 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:52:35,408 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:52:35,439 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:52:35,462 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:52:35,462 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35 WrapperNode [2018-11-14 18:52:35,462 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:52:35,463 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:52:35,463 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:52:35,464 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:52:35,478 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,479 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,489 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,489 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,502 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,510 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,512 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... [2018-11-14 18:52:35,514 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:52:35,515 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:52:35,515 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:52:35,515 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:52:35,516 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:52:35,651 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:52:35,651 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:52:35,651 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 18:52:35,652 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:52:35,652 INFO L130 BoogieDeclarations]: Found specification of procedure ReadFromPort [2018-11-14 18:52:35,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:52:35,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-14 18:52:35,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 18:52:35,652 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:52:35,653 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:52:35,654 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:52:35,654 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:52:36,592 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:52:36,593 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:52:36 BoogieIcfgContainer [2018-11-14 18:52:36,593 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:52:36,594 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:52:36,594 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:52:36,597 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:52:36,597 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:52:35" (1/3) ... [2018-11-14 18:52:36,598 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2ff39c8c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:52:36, skipping insertion in model container [2018-11-14 18:52:36,598 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:35" (2/3) ... [2018-11-14 18:52:36,599 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2ff39c8c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:52:36, skipping insertion in model container [2018-11-14 18:52:36,599 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:52:36" (3/3) ... [2018-11-14 18:52:36,601 INFO L112 eAbstractionObserver]: Analyzing ICFG pnr4_true-unreach-call.i [2018-11-14 18:52:36,609 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:52:36,617 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:52:36,632 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:52:36,669 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:52:36,670 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:52:36,670 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:52:36,670 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:52:36,670 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:52:36,671 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:52:36,671 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:52:36,671 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:52:36,671 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:52:36,693 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-14 18:52:36,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-14 18:52:36,700 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:36,702 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:36,704 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:36,712 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:36,712 INFO L82 PathProgramCache]: Analyzing trace with hash -1590315128, now seen corresponding path program 1 times [2018-11-14 18:52:36,715 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:36,715 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:36,759 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:36,760 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:36,760 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:36,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:36,903 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-14 18:52:36,907 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-14 18:52:36,907 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:52:36,908 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #90#return; {39#true} is VALID [2018-11-14 18:52:36,908 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret9 := main(); {39#true} is VALID [2018-11-14 18:52:36,908 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-14 18:52:36,908 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {39#true} is VALID [2018-11-14 18:52:36,909 INFO L273 TraceCheckUtils]: 7: Hoare triple {39#true} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {39#true} is VALID [2018-11-14 18:52:36,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {39#true} assume !true; {40#false} is VALID [2018-11-14 18:52:36,911 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-14 18:52:36,911 INFO L273 TraceCheckUtils]: 10: Hoare triple {40#false} assume true; {40#false} is VALID [2018-11-14 18:52:36,911 INFO L273 TraceCheckUtils]: 11: Hoare triple {40#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {40#false} is VALID [2018-11-14 18:52:36,912 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-14 18:52:36,912 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2018-11-14 18:52:36,912 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#false} assume ~cond == 0; {40#false} is VALID [2018-11-14 18:52:36,913 INFO L273 TraceCheckUtils]: 15: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-14 18:52:36,916 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:36,918 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:52:36,918 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:52:36,923 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-14 18:52:36,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:36,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:52:37,001 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:37,001 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:52:37,010 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:52:37,010 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:52:37,013 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 2 states. [2018-11-14 18:52:37,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:37,142 INFO L93 Difference]: Finished difference Result 54 states and 67 transitions. [2018-11-14 18:52:37,142 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:52:37,142 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-14 18:52:37,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:37,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:52:37,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2018-11-14 18:52:37,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:52:37,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 67 transitions. [2018-11-14 18:52:37,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 67 transitions. [2018-11-14 18:52:37,446 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-14 18:52:37,458 INFO L225 Difference]: With dead ends: 54 [2018-11-14 18:52:37,458 INFO L226 Difference]: Without dead ends: 30 [2018-11-14 18:52:37,462 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:52:37,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-14 18:52:37,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-14 18:52:37,604 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:37,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:37,605 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:37,606 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:37,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:37,612 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-14 18:52:37,612 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 18:52:37,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:37,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:37,614 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:37,614 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:37,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:37,619 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-14 18:52:37,619 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 18:52:37,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:37,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:37,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:37,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:37,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-14 18:52:37,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2018-11-14 18:52:37,626 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 16 [2018-11-14 18:52:37,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:37,627 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2018-11-14 18:52:37,627 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:52:37,627 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-14 18:52:37,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-14 18:52:37,628 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:37,628 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:37,629 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:37,629 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:37,629 INFO L82 PathProgramCache]: Analyzing trace with hash -1770315169, now seen corresponding path program 1 times [2018-11-14 18:52:37,629 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:37,629 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:37,631 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:37,631 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:37,631 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:37,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:38,037 WARN L179 SmtUtils]: Spent 126.00 ms on a formula simplification. DAG size of input: 18 DAG size of output: 12 [2018-11-14 18:52:38,075 INFO L256 TraceCheckUtils]: 0: Hoare triple {206#true} call ULTIMATE.init(); {206#true} is VALID [2018-11-14 18:52:38,075 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-14 18:52:38,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-14 18:52:38,076 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {206#true} {206#true} #90#return; {206#true} is VALID [2018-11-14 18:52:38,076 INFO L256 TraceCheckUtils]: 4: Hoare triple {206#true} call #t~ret9 := main(); {206#true} is VALID [2018-11-14 18:52:38,077 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-14 18:52:38,084 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {208#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:38,085 INFO L273 TraceCheckUtils]: 7: Hoare triple {208#(<= 2 ~SIZE~0)} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {209#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:38,090 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-14 18:52:38,092 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {207#false} is VALID [2018-11-14 18:52:38,092 INFO L273 TraceCheckUtils]: 10: Hoare triple {207#false} ~i~0 := 0; {207#false} is VALID [2018-11-14 18:52:38,092 INFO L273 TraceCheckUtils]: 11: Hoare triple {207#false} assume true; {207#false} is VALID [2018-11-14 18:52:38,093 INFO L273 TraceCheckUtils]: 12: Hoare triple {207#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4); {207#false} is VALID [2018-11-14 18:52:38,093 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-14 18:52:38,093 INFO L273 TraceCheckUtils]: 14: Hoare triple {207#false} ~cond := #in~cond; {207#false} is VALID [2018-11-14 18:52:38,094 INFO L273 TraceCheckUtils]: 15: Hoare triple {207#false} assume ~cond == 0; {207#false} is VALID [2018-11-14 18:52:38,094 INFO L273 TraceCheckUtils]: 16: Hoare triple {207#false} assume !false; {207#false} is VALID [2018-11-14 18:52:38,096 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:38,096 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:52:38,096 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 18:52:38,098 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-14 18:52:38,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:38,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:52:38,284 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-14 18:52:38,284 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:52:38,285 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:52:38,285 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:52:38,285 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand 4 states. [2018-11-14 18:52:38,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:38,768 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-14 18:52:38,769 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:52:38,769 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-14 18:52:38,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:38,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:52:38,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2018-11-14 18:52:38,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:52:38,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2018-11-14 18:52:38,777 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 62 transitions. [2018-11-14 18:52:38,893 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-14 18:52:38,895 INFO L225 Difference]: With dead ends: 52 [2018-11-14 18:52:38,895 INFO L226 Difference]: Without dead ends: 40 [2018-11-14 18:52:38,897 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-14 18:52:38,897 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-14 18:52:38,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 32. [2018-11-14 18:52:38,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:38,924 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 32 states. [2018-11-14 18:52:38,924 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 32 states. [2018-11-14 18:52:38,924 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 32 states. [2018-11-14 18:52:38,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:38,928 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-14 18:52:38,928 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-14 18:52:38,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:38,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:38,929 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 40 states. [2018-11-14 18:52:38,929 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 40 states. [2018-11-14 18:52:38,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:38,933 INFO L93 Difference]: Finished difference Result 40 states and 49 transitions. [2018-11-14 18:52:38,933 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2018-11-14 18:52:38,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:38,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:38,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:38,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:38,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-14 18:52:38,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 37 transitions. [2018-11-14 18:52:38,937 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 37 transitions. Word has length 17 [2018-11-14 18:52:38,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:38,938 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 37 transitions. [2018-11-14 18:52:38,938 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:52:38,938 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 37 transitions. [2018-11-14 18:52:38,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-14 18:52:38,939 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:38,939 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-14 18:52:38,940 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:38,940 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:38,940 INFO L82 PathProgramCache]: Analyzing trace with hash 1796115786, now seen corresponding path program 1 times [2018-11-14 18:52:38,940 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:38,941 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:38,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:38,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:38,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:39,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:39,920 INFO L256 TraceCheckUtils]: 0: Hoare triple {397#true} call ULTIMATE.init(); {397#true} is VALID [2018-11-14 18:52:39,921 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-14 18:52:39,921 INFO L273 TraceCheckUtils]: 2: Hoare triple {397#true} assume true; {397#true} is VALID [2018-11-14 18:52:39,922 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {397#true} {397#true} #90#return; {397#true} is VALID [2018-11-14 18:52:39,922 INFO L256 TraceCheckUtils]: 4: Hoare triple {397#true} call #t~ret9 := main(); {397#true} is VALID [2018-11-14 18:52:39,923 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-14 18:52:39,923 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {399#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:52:39,924 INFO L273 TraceCheckUtils]: 7: Hoare triple {399#(and (<= 2 ~SIZE~0) (= |main_~#a~0.offset| 0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 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-14 18:52:39,925 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-14 18:52:39,926 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:39,928 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 + (~i~0 * 4 - 4) * 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-14 18:52:39,930 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-14 18:52:39,931 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 + (~i~0 * 4 - 3) * 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-14 18:52:39,932 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-14 18:52:39,934 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 + (~i~0 * 4 - 2) * 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-14 18:52:39,936 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-14 18:52:39,942 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 + (~i~0 * 4 - 1) * 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-14 18:52:39,943 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 := #t~post2 + 1;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-14 18:52:39,946 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-14 18:52:39,948 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:39,948 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-14 18:52:39,949 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-14 18:52:39,954 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 + ~i~0 * 4, 4); {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:52:39,955 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-14 18:52:39,956 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-14 18:52:39,957 INFO L273 TraceCheckUtils]: 25: Hoare triple {407#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {398#false} is VALID [2018-11-14 18:52:39,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {398#false} assume !false; {398#false} is VALID [2018-11-14 18:52:39,962 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:39,963 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:39,963 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:39,982 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:40,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:40,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:40,040 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:40,326 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-14 18:52:40,336 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-14 18:52:40,343 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,345 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,401 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,402 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-14 18:52:40,406 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:40,554 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-14 18:52:40,568 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:40,570 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-14 18:52:40,574 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,616 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,627 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,627 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-14 18:52:40,636 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:40,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 30 treesize of output 25 [2018-11-14 18:52:40,698 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:40,700 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-14 18:52:40,706 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,719 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,731 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,732 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-14 18:52:40,736 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:40,755 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-14 18:52:40,802 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:40,811 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-14 18:52:40,817 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,823 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,832 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,833 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:25, output treesize:12 [2018-11-14 18:52:40,836 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:40,891 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-14 18:52:40,897 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-14 18:52:40,899 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,901 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,903 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:40,904 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-14 18:52:40,906 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:40,950 INFO L256 TraceCheckUtils]: 0: Hoare triple {397#true} call ULTIMATE.init(); {397#true} is VALID [2018-11-14 18:52:40,950 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-14 18:52:40,951 INFO L273 TraceCheckUtils]: 2: Hoare triple {397#true} assume true; {397#true} is VALID [2018-11-14 18:52:40,951 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {397#true} {397#true} #90#return; {397#true} is VALID [2018-11-14 18:52:40,951 INFO L256 TraceCheckUtils]: 4: Hoare triple {397#true} call #t~ret9 := main(); {397#true} is VALID [2018-11-14 18:52:40,952 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-14 18:52:40,954 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {429#(= |main_~#a~0.offset| 0)} is VALID [2018-11-14 18:52:40,954 INFO L273 TraceCheckUtils]: 7: Hoare triple {429#(= |main_~#a~0.offset| 0)} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:52:40,956 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-14 18:52:40,957 INFO L273 TraceCheckUtils]: 9: Hoare triple {433#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:40,958 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 + (~i~0 * 4 - 4) * 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-14 18:52:40,960 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-14 18:52:40,961 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 + (~i~0 * 4 - 3) * 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-14 18:52:40,962 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-14 18:52:40,964 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 + (~i~0 * 4 - 2) * 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-14 18:52:40,965 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-14 18:52:40,966 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:40,968 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 := #t~post2 + 1;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-14 18:52:40,969 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-14 18:52:40,970 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:40,971 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-14 18:52:40,973 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-14 18:52:40,974 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 + ~i~0 * 4, 4); {405#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:52:40,977 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-14 18:52:40,978 INFO L273 TraceCheckUtils]: 24: Hoare triple {483#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {487#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:52:40,979 INFO L273 TraceCheckUtils]: 25: Hoare triple {487#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {398#false} is VALID [2018-11-14 18:52:40,980 INFO L273 TraceCheckUtils]: 26: Hoare triple {398#false} assume !false; {398#false} is VALID [2018-11-14 18:52:40,982 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:41,003 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:41,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2018-11-14 18:52:41,004 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 27 [2018-11-14 18:52:41,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:41,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-14 18:52:41,129 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-14 18:52:41,130 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-14 18:52:41,130 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-14 18:52:41,130 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:52:41,131 INFO L87 Difference]: Start difference. First operand 32 states and 37 transitions. Second operand 16 states. [2018-11-14 18:52:43,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:43,597 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2018-11-14 18:52:43,597 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-14 18:52:43,597 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 27 [2018-11-14 18:52:43,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:43,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:52:43,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2018-11-14 18:52:43,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-14 18:52:43,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 108 transitions. [2018-11-14 18:52:43,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 108 transitions. [2018-11-14 18:52:43,856 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:43,863 INFO L225 Difference]: With dead ends: 86 [2018-11-14 18:52:43,863 INFO L226 Difference]: Without dead ends: 84 [2018-11-14 18:52:43,864 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-14 18:52:43,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-14 18:52:44,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 50. [2018-11-14 18:52:44,081 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:44,081 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 50 states. [2018-11-14 18:52:44,082 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 50 states. [2018-11-14 18:52:44,082 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 50 states. [2018-11-14 18:52:44,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:44,089 INFO L93 Difference]: Finished difference Result 84 states and 106 transitions. [2018-11-14 18:52:44,089 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 106 transitions. [2018-11-14 18:52:44,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:44,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:44,091 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 84 states. [2018-11-14 18:52:44,091 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 84 states. [2018-11-14 18:52:44,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:44,097 INFO L93 Difference]: Finished difference Result 84 states and 106 transitions. [2018-11-14 18:52:44,097 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 106 transitions. [2018-11-14 18:52:44,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:44,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:44,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:44,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:44,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-14 18:52:44,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2018-11-14 18:52:44,102 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 27 [2018-11-14 18:52:44,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:44,103 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2018-11-14 18:52:44,103 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-14 18:52:44,103 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2018-11-14 18:52:44,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2018-11-14 18:52:44,104 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:44,104 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-14 18:52:44,105 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:44,105 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:44,105 INFO L82 PathProgramCache]: Analyzing trace with hash 207767884, now seen corresponding path program 1 times [2018-11-14 18:52:44,105 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:44,106 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:44,107 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:44,108 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:44,108 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:44,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:45,454 INFO L256 TraceCheckUtils]: 0: Hoare triple {841#true} call ULTIMATE.init(); {841#true} is VALID [2018-11-14 18:52:45,454 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-14 18:52:45,454 INFO L273 TraceCheckUtils]: 2: Hoare triple {841#true} assume true; {841#true} is VALID [2018-11-14 18:52:45,454 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {841#true} {841#true} #90#return; {841#true} is VALID [2018-11-14 18:52:45,455 INFO L256 TraceCheckUtils]: 4: Hoare triple {841#true} call #t~ret9 := main(); {841#true} is VALID [2018-11-14 18:52:45,455 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-14 18:52:45,456 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(~SIZE~0 * 4);~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-14 18:52:45,457 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 !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 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-14 18:52:45,458 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-14 18:52:45,459 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:45,461 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 + (~i~0 * 4 - 4) * 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-14 18:52:45,462 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-14 18:52:45,464 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 + (~i~0 * 4 - 3) * 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-14 18:52:45,465 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-14 18:52:45,467 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 + (~i~0 * 4 - 2) * 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-14 18:52:45,468 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-14 18:52:45,469 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 + (~i~0 * 4 - 1) * 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-14 18:52:45,471 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 := #t~post2 + 1;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-14 18:52:45,472 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-14 18:52:45,479 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:45,480 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-14 18:52:45,480 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-14 18:52:45,481 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 + ~i~0 * 4, 4); {849#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-14 18:52:45,482 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-14 18:52:45,501 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-14 18:52:45,505 INFO L273 TraceCheckUtils]: 25: Hoare triple {851#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {842#false} is VALID [2018-11-14 18:52:45,506 INFO L273 TraceCheckUtils]: 26: Hoare triple {842#false} assume !false; {842#false} is VALID [2018-11-14 18:52:45,509 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:45,509 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:45,509 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:45,518 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:45,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:45,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:45,573 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:45,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-14 18:52:45,749 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-14 18:52:45,751 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,755 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,769 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,769 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-14 18:52:45,773 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:45,817 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-14 18:52:45,823 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:45,825 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-14 18:52:45,827 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,835 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,847 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,847 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-14 18:52:45,852 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:45,872 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-14 18:52:45,882 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:45,886 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-14 18:52:45,888 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,894 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,906 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,907 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-14 18:52:45,911 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:45,929 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-14 18:52:45,936 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:45,939 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-14 18:52:45,941 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,950 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,960 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:45,960 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:14 [2018-11-14 18:52:45,963 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:46,080 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-14 18:52:46,087 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-14 18:52:46,092 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:46,093 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:46,096 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:46,097 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-14 18:52:46,100 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:46,168 INFO L256 TraceCheckUtils]: 0: Hoare triple {841#true} call ULTIMATE.init(); {841#true} is VALID [2018-11-14 18:52:46,168 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-14 18:52:46,168 INFO L273 TraceCheckUtils]: 2: Hoare triple {841#true} assume true; {841#true} is VALID [2018-11-14 18:52:46,169 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {841#true} {841#true} #90#return; {841#true} is VALID [2018-11-14 18:52:46,169 INFO L256 TraceCheckUtils]: 4: Hoare triple {841#true} call #t~ret9 := main(); {841#true} is VALID [2018-11-14 18:52:46,169 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-14 18:52:46,170 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(~SIZE~0 * 4);~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-14 18:52:46,184 INFO L273 TraceCheckUtils]: 7: Hoare triple {873#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 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-14 18:52:46,185 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-14 18:52:46,185 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:46,186 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 + (~i~0 * 4 - 4) * 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-14 18:52:46,188 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-14 18:52:46,192 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 + (~i~0 * 4 - 3) * 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-14 18:52:46,193 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-14 18:52:46,197 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 + (~i~0 * 4 - 2) * 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-14 18:52:46,198 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-14 18:52:46,199 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:46,199 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 := #t~post2 + 1;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-14 18:52:46,200 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-14 18:52:46,200 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:46,201 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-14 18:52:46,201 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-14 18:52:46,203 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 + ~i~0 * 4, 4); {926#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:52:46,204 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-14 18:52:46,204 INFO L273 TraceCheckUtils]: 24: Hoare triple {930#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {934#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:52:46,206 INFO L273 TraceCheckUtils]: 25: Hoare triple {934#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {842#false} is VALID [2018-11-14 18:52:46,206 INFO L273 TraceCheckUtils]: 26: Hoare triple {842#false} assume !false; {842#false} is VALID [2018-11-14 18:52:46,210 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:46,231 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:46,231 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 19 [2018-11-14 18:52:46,231 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 27 [2018-11-14 18:52:46,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:46,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 18:52:46,294 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:46,295 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 18:52:46,295 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 18:52:46,295 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=295, Unknown=0, NotChecked=0, Total=342 [2018-11-14 18:52:46,296 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand 19 states. [2018-11-14 18:52:49,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:49,793 INFO L93 Difference]: Finished difference Result 107 states and 133 transitions. [2018-11-14 18:52:49,794 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-14 18:52:49,794 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 27 [2018-11-14 18:52:49,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:49,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:52:49,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-14 18:52:49,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:52:49,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 110 transitions. [2018-11-14 18:52:49,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 110 transitions. [2018-11-14 18:52:50,003 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-14 18:52:50,008 INFO L225 Difference]: With dead ends: 107 [2018-11-14 18:52:50,008 INFO L226 Difference]: Without dead ends: 105 [2018-11-14 18:52:50,009 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 23 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=167, Invalid=703, Unknown=0, NotChecked=0, Total=870 [2018-11-14 18:52:50,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-11-14 18:52:50,097 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 39. [2018-11-14 18:52:50,097 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:50,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 39 states. [2018-11-14 18:52:50,098 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 39 states. [2018-11-14 18:52:50,098 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 39 states. [2018-11-14 18:52:50,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:50,104 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2018-11-14 18:52:50,105 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 131 transitions. [2018-11-14 18:52:50,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:50,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:50,106 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 105 states. [2018-11-14 18:52:50,106 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 105 states. [2018-11-14 18:52:50,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:50,112 INFO L93 Difference]: Finished difference Result 105 states and 131 transitions. [2018-11-14 18:52:50,113 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 131 transitions. [2018-11-14 18:52:50,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:50,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:50,114 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:50,114 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:50,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-14 18:52:50,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 44 transitions. [2018-11-14 18:52:50,116 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 44 transitions. Word has length 27 [2018-11-14 18:52:50,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:50,117 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 44 transitions. [2018-11-14 18:52:50,117 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 18:52:50,117 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-14 18:52:50,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-14 18:52:50,118 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:50,118 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-14 18:52:50,118 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:50,119 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:50,119 INFO L82 PathProgramCache]: Analyzing trace with hash -1032780020, now seen corresponding path program 1 times [2018-11-14 18:52:50,119 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:50,119 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:50,120 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:50,120 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:50,120 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:50,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:50,576 INFO L256 TraceCheckUtils]: 0: Hoare triple {1355#true} call ULTIMATE.init(); {1355#true} is VALID [2018-11-14 18:52:50,577 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-14 18:52:50,577 INFO L273 TraceCheckUtils]: 2: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-14 18:52:50,578 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1355#true} {1355#true} #90#return; {1355#true} is VALID [2018-11-14 18:52:50,578 INFO L256 TraceCheckUtils]: 4: Hoare triple {1355#true} call #t~ret9 := main(); {1355#true} is VALID [2018-11-14 18:52:50,578 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-14 18:52:50,582 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {1357#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:50,584 INFO L273 TraceCheckUtils]: 7: Hoare triple {1357#(<= 2 ~SIZE~0)} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:52:50,584 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-14 18:52:50,585 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:50,586 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 + (~i~0 * 4 - 4) * 4, 4); {1358#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:52:50,586 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-14 18:52:50,587 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 + (~i~0 * 4 - 3) * 4, 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-14 18:52:50,588 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-14 18:52:50,590 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 + (~i~0 * 4 - 2) * 4, 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-14 18:52:50,591 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-14 18:52:50,592 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:50,594 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 := #t~post2 + 1;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-14 18:52:50,595 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-14 18:52:50,597 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:50,598 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-14 18:52:50,599 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-14 18:52:50,600 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 + ~i~0 * 4, 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-14 18:52:50,600 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-14 18:52:50,600 INFO L273 TraceCheckUtils]: 24: Hoare triple {1355#true} ~cond := #in~cond; {1355#true} is VALID [2018-11-14 18:52:50,601 INFO L273 TraceCheckUtils]: 25: Hoare triple {1355#true} assume !(~cond == 0); {1355#true} is VALID [2018-11-14 18:52:50,601 INFO L273 TraceCheckUtils]: 26: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-14 18:52:50,611 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-14 18:52:50,612 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-14 18:52:50,613 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 := #t~post7 + 1;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-14 18:52:50,613 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-14 18:52:50,614 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 + ~i~0 * 4, 4); {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:52:50,637 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-14 18:52:50,651 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-14 18:52:50,655 INFO L273 TraceCheckUtils]: 34: Hoare triple {1366#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {1356#false} is VALID [2018-11-14 18:52:50,655 INFO L273 TraceCheckUtils]: 35: Hoare triple {1356#false} assume !false; {1356#false} is VALID [2018-11-14 18:52:50,660 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-14 18:52:50,660 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:50,660 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:50,669 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:50,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:50,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:50,706 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:50,946 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-14 18:52:50,953 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-14 18:52:50,961 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:50,963 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:50,976 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:50,977 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:20 [2018-11-14 18:52:50,980 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:51,030 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 25 [2018-11-14 18:52:51,040 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:51,043 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-14 18:52:51,046 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,055 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,067 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,067 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:36, output treesize:20 [2018-11-14 18:52:51,070 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:51,098 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-14 18:52:51,105 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:51,108 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-14 18:52:51,111 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,130 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,139 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,140 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:27, output treesize:14 [2018-11-14 18:52:51,144 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:51,333 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-14 18:52:51,339 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-14 18:52:51,342 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,344 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,346 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:51,347 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:4 [2018-11-14 18:52:51,349 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:51,391 INFO L256 TraceCheckUtils]: 0: Hoare triple {1355#true} call ULTIMATE.init(); {1355#true} is VALID [2018-11-14 18:52:51,392 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-14 18:52:51,392 INFO L273 TraceCheckUtils]: 2: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-14 18:52:51,392 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1355#true} {1355#true} #90#return; {1355#true} is VALID [2018-11-14 18:52:51,392 INFO L256 TraceCheckUtils]: 4: Hoare triple {1355#true} call #t~ret9 := main(); {1355#true} is VALID [2018-11-14 18:52:51,393 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-14 18:52:51,394 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {1388#(= |main_~#a~0.offset| 0)} is VALID [2018-11-14 18:52:51,395 INFO L273 TraceCheckUtils]: 7: Hoare triple {1388#(= |main_~#a~0.offset| 0)} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:52:51,395 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-14 18:52:51,396 INFO L273 TraceCheckUtils]: 9: Hoare triple {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:51,396 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 + (~i~0 * 4 - 4) * 4, 4); {1392#(and (= main_~i~0 1) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:52:51,397 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-14 18:52:51,398 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 + (~i~0 * 4 - 3) * 4, 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-14 18:52:51,399 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-14 18:52:51,401 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 + (~i~0 * 4 - 2) * 4, 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-14 18:52:51,403 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-14 18:52:51,404 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:51,405 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 := #t~post2 + 1;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-14 18:52:51,405 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-14 18:52:51,406 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:51,407 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-14 18:52:51,408 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-14 18:52:51,409 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 + ~i~0 * 4, 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-14 18:52:51,409 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-14 18:52:51,409 INFO L273 TraceCheckUtils]: 24: Hoare triple {1355#true} ~cond := #in~cond; {1355#true} is VALID [2018-11-14 18:52:51,410 INFO L273 TraceCheckUtils]: 25: Hoare triple {1355#true} assume !(~cond == 0); {1355#true} is VALID [2018-11-14 18:52:51,410 INFO L273 TraceCheckUtils]: 26: Hoare triple {1355#true} assume true; {1355#true} is VALID [2018-11-14 18:52:51,417 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-14 18:52:51,418 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-14 18:52:51,419 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 := #t~post7 + 1;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-14 18:52:51,420 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-14 18:52:51,421 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 + ~i~0 * 4, 4); {1364#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:52:51,423 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-14 18:52:51,423 INFO L273 TraceCheckUtils]: 33: Hoare triple {1471#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1475#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:52:51,424 INFO L273 TraceCheckUtils]: 34: Hoare triple {1475#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1356#false} is VALID [2018-11-14 18:52:51,424 INFO L273 TraceCheckUtils]: 35: Hoare triple {1356#false} assume !false; {1356#false} is VALID [2018-11-14 18:52:51,429 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-14 18:52:51,457 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:51,458 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 19 [2018-11-14 18:52:51,458 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 36 [2018-11-14 18:52:51,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:51,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-14 18:52:51,628 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-14 18:52:51,629 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-14 18:52:51,629 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-14 18:52:51,629 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=288, Unknown=0, NotChecked=0, Total=342 [2018-11-14 18:52:51,630 INFO L87 Difference]: Start difference. First operand 39 states and 44 transitions. Second operand 19 states. [2018-11-14 18:52:53,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:53,725 INFO L93 Difference]: Finished difference Result 89 states and 109 transitions. [2018-11-14 18:52:53,725 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-14 18:52:53,725 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 36 [2018-11-14 18:52:53,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:53,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:52:53,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 102 transitions. [2018-11-14 18:52:53,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-14 18:52:53,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 102 transitions. [2018-11-14 18:52:53,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 102 transitions. [2018-11-14 18:52:53,886 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-14 18:52:53,889 INFO L225 Difference]: With dead ends: 89 [2018-11-14 18:52:53,889 INFO L226 Difference]: Without dead ends: 87 [2018-11-14 18:52:53,890 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-14 18:52:53,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-14 18:52:53,984 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 62. [2018-11-14 18:52:53,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:53,985 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 62 states. [2018-11-14 18:52:53,985 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 62 states. [2018-11-14 18:52:53,985 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 62 states. [2018-11-14 18:52:53,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:53,991 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-14 18:52:53,991 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2018-11-14 18:52:53,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:53,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:53,992 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 87 states. [2018-11-14 18:52:53,992 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 87 states. [2018-11-14 18:52:53,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:53,996 INFO L93 Difference]: Finished difference Result 87 states and 107 transitions. [2018-11-14 18:52:53,997 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 107 transitions. [2018-11-14 18:52:53,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:53,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:53,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:53,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:53,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2018-11-14 18:52:54,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 73 transitions. [2018-11-14 18:52:54,000 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 73 transitions. Word has length 36 [2018-11-14 18:52:54,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:54,001 INFO L480 AbstractCegarLoop]: Abstraction has 62 states and 73 transitions. [2018-11-14 18:52:54,001 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-14 18:52:54,001 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 73 transitions. [2018-11-14 18:52:54,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-14 18:52:54,002 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:54,002 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-14 18:52:54,002 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:54,002 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:54,003 INFO L82 PathProgramCache]: Analyzing trace with hash -1166793526, now seen corresponding path program 1 times [2018-11-14 18:52:54,003 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:54,003 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:54,004 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:54,004 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:54,004 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:54,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:54,539 INFO L256 TraceCheckUtils]: 0: Hoare triple {1864#true} call ULTIMATE.init(); {1864#true} is VALID [2018-11-14 18:52:54,540 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-14 18:52:54,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-14 18:52:54,540 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1864#true} {1864#true} #90#return; {1864#true} is VALID [2018-11-14 18:52:54,541 INFO L256 TraceCheckUtils]: 4: Hoare triple {1864#true} call #t~ret9 := main(); {1864#true} is VALID [2018-11-14 18:52:54,541 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-14 18:52:54,542 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(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {1866#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:54,543 INFO L273 TraceCheckUtils]: 7: Hoare triple {1866#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 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-14 18:52:54,544 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-14 18:52:54,545 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:54,545 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 + (~i~0 * 4 - 4) * 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-14 18:52:54,546 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-14 18:52:54,547 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 + (~i~0 * 4 - 3) * 4, 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-14 18:52:54,548 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-14 18:52:54,549 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 + (~i~0 * 4 - 2) * 4, 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-14 18:52:54,551 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-14 18:52:54,552 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:54,553 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 := #t~post2 + 1;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-14 18:52:54,561 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-14 18:52:54,563 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:54,564 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-14 18:52:54,564 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-14 18:52:54,565 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 + ~i~0 * 4, 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-14 18:52:54,565 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-14 18:52:54,565 INFO L273 TraceCheckUtils]: 24: Hoare triple {1864#true} ~cond := #in~cond; {1864#true} is VALID [2018-11-14 18:52:54,565 INFO L273 TraceCheckUtils]: 25: Hoare triple {1864#true} assume !(~cond == 0); {1864#true} is VALID [2018-11-14 18:52:54,566 INFO L273 TraceCheckUtils]: 26: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-14 18:52:54,566 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-14 18:52:54,567 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-14 18:52:54,568 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 := #t~post7 + 1;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-14 18:52:54,569 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-14 18:52:54,570 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 + ~i~0 * 4, 4); {1873#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-14 18:52:54,571 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-14 18:52:54,571 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-14 18:52:54,572 INFO L273 TraceCheckUtils]: 34: Hoare triple {1875#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {1865#false} is VALID [2018-11-14 18:52:54,572 INFO L273 TraceCheckUtils]: 35: Hoare triple {1865#false} assume !false; {1865#false} is VALID [2018-11-14 18:52:54,577 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-14 18:52:54,577 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:54,578 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:54,586 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:54,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:54,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:54,639 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:54,909 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-14 18:52:54,913 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-14 18:52:54,916 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:54,919 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:54,930 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:54,931 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-14 18:52:54,934 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:54,999 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-14 18:52:55,004 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:55,007 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-14 18:52:55,010 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,016 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,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-14 18:52:55,029 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:38, output treesize:22 [2018-11-14 18:52:55,035 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:55,055 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-14 18:52:55,061 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:52:55,063 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-14 18:52:55,065 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,071 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,081 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,081 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-14 18:52:55,085 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:55,257 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-14 18:52:55,264 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-14 18:52:55,267 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,269 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,273 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:52:55,274 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-14 18:52:55,277 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:52:55,382 INFO L256 TraceCheckUtils]: 0: Hoare triple {1864#true} call ULTIMATE.init(); {1864#true} is VALID [2018-11-14 18:52:55,382 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-14 18:52:55,383 INFO L273 TraceCheckUtils]: 2: Hoare triple {1864#true} assume true; {1864#true} is VALID [2018-11-14 18:52:55,383 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1864#true} {1864#true} #90#return; {1864#true} is VALID [2018-11-14 18:52:55,383 INFO L256 TraceCheckUtils]: 4: Hoare triple {1864#true} call #t~ret9 := main(); {1864#true} is VALID [2018-11-14 18:52:55,384 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-14 18:52:55,385 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(~SIZE~0 * 4);~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-14 18:52:55,387 INFO L273 TraceCheckUtils]: 7: Hoare triple {1897#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 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-14 18:52:55,387 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-14 18:52:55,388 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:55,388 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 + (~i~0 * 4 - 4) * 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-14 18:52:55,397 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-14 18:52:55,398 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 + (~i~0 * 4 - 3) * 4, 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-14 18:52:55,399 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-14 18:52:55,400 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 + (~i~0 * 4 - 2) * 4, 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-14 18:52:55,400 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-14 18:52:55,401 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 + (~i~0 * 4 - 1) * 4, 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-14 18:52:55,402 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 := #t~post2 + 1;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-14 18:52:55,402 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-14 18:52:55,403 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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 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-14 18:52:55,403 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-14 18:52:55,404 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-14 18:52:55,405 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 + ~i~0 * 4, 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-14 18:52:55,407 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-14 18:52:55,407 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-14 18:52:55,408 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 !(~cond == 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-14 18:52:55,409 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-14 18:52:55,409 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-14 18:52:55,410 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-14 18:52:55,411 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 := #t~post7 + 1;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-14 18:52:55,411 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-14 18:52:55,412 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 + ~i~0 * 4, 4); {1978#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:52:55,413 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-14 18:52:55,414 INFO L273 TraceCheckUtils]: 33: Hoare triple {1982#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1986#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:52:55,414 INFO L273 TraceCheckUtils]: 34: Hoare triple {1986#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1865#false} is VALID [2018-11-14 18:52:55,415 INFO L273 TraceCheckUtils]: 35: Hoare triple {1865#false} assume !false; {1865#false} is VALID [2018-11-14 18:52:55,424 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-14 18:52:55,451 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:55,451 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-14 18:52:55,451 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 36 [2018-11-14 18:52:55,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:55,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-14 18:52:55,897 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-14 18:52:55,898 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-14 18:52:55,898 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-14 18:52:55,898 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=363, Unknown=0, NotChecked=0, Total=420 [2018-11-14 18:52:55,899 INFO L87 Difference]: Start difference. First operand 62 states and 73 transitions. Second operand 21 states. [2018-11-14 18:53:00,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,008 INFO L93 Difference]: Finished difference Result 128 states and 151 transitions. [2018-11-14 18:53:00,009 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-14 18:53:00,009 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 36 [2018-11-14 18:53:00,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:00,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:53:00,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 116 transitions. [2018-11-14 18:53:00,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:53:00,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 116 transitions. [2018-11-14 18:53:00,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 116 transitions. [2018-11-14 18:53:00,209 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-14 18:53:00,212 INFO L225 Difference]: With dead ends: 128 [2018-11-14 18:53:00,212 INFO L226 Difference]: Without dead ends: 126 [2018-11-14 18:53:00,213 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 28 SyntacticMatches, 4 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 234 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=202, Invalid=988, Unknown=0, NotChecked=0, Total=1190 [2018-11-14 18:53:00,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2018-11-14 18:53:00,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 48. [2018-11-14 18:53:00,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:00,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 48 states. [2018-11-14 18:53:00,299 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 48 states. [2018-11-14 18:53:00,299 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 48 states. [2018-11-14 18:53:00,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,304 INFO L93 Difference]: Finished difference Result 126 states and 148 transitions. [2018-11-14 18:53:00,304 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 148 transitions. [2018-11-14 18:53:00,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:00,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:00,305 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 126 states. [2018-11-14 18:53:00,305 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 126 states. [2018-11-14 18:53:00,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,310 INFO L93 Difference]: Finished difference Result 126 states and 148 transitions. [2018-11-14 18:53:00,311 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 148 transitions. [2018-11-14 18:53:00,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:00,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:00,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:00,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:00,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-14 18:53:00,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-14 18:53:00,313 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 36 [2018-11-14 18:53:00,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:00,314 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-14 18:53:00,314 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-14 18:53:00,314 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-14 18:53:00,315 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-14 18:53:00,315 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:00,315 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-14 18:53:00,315 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:00,315 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:00,316 INFO L82 PathProgramCache]: Analyzing trace with hash 1869506442, now seen corresponding path program 2 times [2018-11-14 18:53:00,316 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:00,316 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:00,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:00,317 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:00,317 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:00,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:01,110 INFO L256 TraceCheckUtils]: 0: Hoare triple {2494#true} call ULTIMATE.init(); {2494#true} is VALID [2018-11-14 18:53:01,111 INFO L273 TraceCheckUtils]: 1: Hoare triple {2494#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2494#true} is VALID [2018-11-14 18:53:01,111 INFO L273 TraceCheckUtils]: 2: Hoare triple {2494#true} assume true; {2494#true} is VALID [2018-11-14 18:53:01,111 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2494#true} {2494#true} #90#return; {2494#true} is VALID [2018-11-14 18:53:01,111 INFO L256 TraceCheckUtils]: 4: Hoare triple {2494#true} call #t~ret9 := main(); {2494#true} is VALID [2018-11-14 18:53:01,112 INFO L273 TraceCheckUtils]: 5: Hoare triple {2494#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2494#true} is VALID [2018-11-14 18:53:01,113 INFO L273 TraceCheckUtils]: 6: Hoare triple {2494#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {2496#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:53:01,113 INFO L273 TraceCheckUtils]: 7: Hoare triple {2496#(<= 2 ~SIZE~0)} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,114 INFO L273 TraceCheckUtils]: 8: Hoare triple {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume true; {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,114 INFO L273 TraceCheckUtils]: 9: Hoare triple {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,115 INFO L273 TraceCheckUtils]: 10: Hoare triple {2497#(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 + (~i~0 * 4 - 4) * 4, 4); {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,115 INFO L273 TraceCheckUtils]: 11: Hoare triple {2497#(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; {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,116 INFO L273 TraceCheckUtils]: 12: Hoare triple {2497#(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 + (~i~0 * 4 - 3) * 4, 4); {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,117 INFO L273 TraceCheckUtils]: 13: Hoare triple {2497#(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; {2497#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:53:01,118 INFO L273 TraceCheckUtils]: 14: Hoare triple {2497#(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 + (~i~0 * 4 - 2) * 4, 4); {2498#(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-14 18:53:01,119 INFO L273 TraceCheckUtils]: 15: Hoare triple {2498#(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; {2498#(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-14 18:53:01,121 INFO L273 TraceCheckUtils]: 16: Hoare triple {2498#(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 + (~i~0 * 4 - 1) * 4, 4); {2498#(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-14 18:53:01,122 INFO L273 TraceCheckUtils]: 17: Hoare triple {2498#(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 := #t~post2 + 1;havoc #t~post2; {2499#(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-14 18:53:01,123 INFO L273 TraceCheckUtils]: 18: Hoare triple {2499#(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; {2499#(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-14 18:53:01,124 INFO L273 TraceCheckUtils]: 19: Hoare triple {2499#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {2500#(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-14 18:53:01,125 INFO L273 TraceCheckUtils]: 20: Hoare triple {2500#(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; {2501#(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-14 18:53:01,126 INFO L273 TraceCheckUtils]: 21: Hoare triple {2501#(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; {2501#(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-14 18:53:01,129 INFO L273 TraceCheckUtils]: 22: Hoare triple {2501#(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 + ~i~0 * 4, 4); {2501#(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-14 18:53:01,129 INFO L256 TraceCheckUtils]: 23: Hoare triple {2501#(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)); {2494#true} is VALID [2018-11-14 18:53:01,129 INFO L273 TraceCheckUtils]: 24: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2018-11-14 18:53:01,130 INFO L273 TraceCheckUtils]: 25: Hoare triple {2494#true} assume !(~cond == 0); {2494#true} is VALID [2018-11-14 18:53:01,130 INFO L273 TraceCheckUtils]: 26: Hoare triple {2494#true} assume true; {2494#true} is VALID [2018-11-14 18:53:01,131 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2494#true} {2501#(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; {2501#(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-14 18:53:01,132 INFO L273 TraceCheckUtils]: 28: Hoare triple {2501#(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; {2501#(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-14 18:53:01,133 INFO L273 TraceCheckUtils]: 29: Hoare triple {2501#(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 := #t~post7 + 1;havoc #t~post7; {2502#(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-14 18:53:01,133 INFO L273 TraceCheckUtils]: 30: Hoare triple {2502#(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; {2502#(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-14 18:53:01,134 INFO L273 TraceCheckUtils]: 31: Hoare triple {2502#(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 + ~i~0 * 4, 4); {2502#(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-14 18:53:01,134 INFO L256 TraceCheckUtils]: 32: Hoare triple {2502#(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)); {2494#true} is VALID [2018-11-14 18:53:01,135 INFO L273 TraceCheckUtils]: 33: Hoare triple {2494#true} ~cond := #in~cond; {2494#true} is VALID [2018-11-14 18:53:01,135 INFO L273 TraceCheckUtils]: 34: Hoare triple {2494#true} assume !(~cond == 0); {2494#true} is VALID [2018-11-14 18:53:01,135 INFO L273 TraceCheckUtils]: 35: Hoare triple {2494#true} assume true; {2494#true} is VALID [2018-11-14 18:53:01,136 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2494#true} {2502#(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; {2502#(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-14 18:53:01,137 INFO L273 TraceCheckUtils]: 37: Hoare triple {2502#(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; {2502#(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-14 18:53:01,138 INFO L273 TraceCheckUtils]: 38: Hoare triple {2502#(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 := #t~post7 + 1;havoc #t~post7; {2503#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:53:01,138 INFO L273 TraceCheckUtils]: 39: Hoare triple {2503#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} assume true; {2503#(not (= main_~DEFAULTVAL~0 (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)))))} is VALID [2018-11-14 18:53:01,138 INFO L273 TraceCheckUtils]: 40: Hoare triple {2503#(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 + ~i~0 * 4, 4); {2504#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:53:01,139 INFO L256 TraceCheckUtils]: 41: Hoare triple {2504#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2505#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:01,140 INFO L273 TraceCheckUtils]: 42: Hoare triple {2505#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2506#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:01,140 INFO L273 TraceCheckUtils]: 43: Hoare triple {2506#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {2495#false} is VALID [2018-11-14 18:53:01,140 INFO L273 TraceCheckUtils]: 44: Hoare triple {2495#false} assume !false; {2495#false} is VALID [2018-11-14 18:53:01,148 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-14 18:53:01,148 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:01,148 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:53:01,157 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:53:01,195 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:53:01,195 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:01,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:01,212 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:01,387 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-14 18:53:01,390 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-14 18:53:01,392 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,395 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,407 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,407 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:23 [2018-11-14 18:53:01,411 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:01,460 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-14 18:53:01,466 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:01,468 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-14 18:53:01,472 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,477 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,485 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,485 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:30, output treesize:17 [2018-11-14 18:53:01,489 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:01,796 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-14 18:53:01,801 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-14 18:53:01,802 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,804 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,809 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:01,809 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:8 [2018-11-14 18:53:01,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:01,866 INFO L256 TraceCheckUtils]: 0: Hoare triple {2494#true} call ULTIMATE.init(); {2494#true} is VALID [2018-11-14 18:53:01,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {2494#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2494#true} is VALID [2018-11-14 18:53:01,867 INFO L273 TraceCheckUtils]: 2: Hoare triple {2494#true} assume true; {2494#true} is VALID [2018-11-14 18:53:01,867 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2494#true} {2494#true} #90#return; {2494#true} is VALID [2018-11-14 18:53:01,867 INFO L256 TraceCheckUtils]: 4: Hoare triple {2494#true} call #t~ret9 := main(); {2494#true} is VALID [2018-11-14 18:53:01,867 INFO L273 TraceCheckUtils]: 5: Hoare triple {2494#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2494#true} is VALID [2018-11-14 18:53:01,868 INFO L273 TraceCheckUtils]: 6: Hoare triple {2494#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {2528#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,868 INFO L273 TraceCheckUtils]: 7: Hoare triple {2528#(and (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,869 INFO L273 TraceCheckUtils]: 8: Hoare triple {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume true; {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,869 INFO L273 TraceCheckUtils]: 9: Hoare triple {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,870 INFO L273 TraceCheckUtils]: 10: Hoare triple {2532#(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 + (~i~0 * 4 - 4) * 4, 4); {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,870 INFO L273 TraceCheckUtils]: 11: Hoare triple {2532#(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; {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,871 INFO L273 TraceCheckUtils]: 12: Hoare triple {2532#(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 + (~i~0 * 4 - 3) * 4, 4); {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,872 INFO L273 TraceCheckUtils]: 13: Hoare triple {2532#(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; {2532#(and (= main_~i~0 1) (= main_~DEFAULTVAL~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:01,873 INFO L273 TraceCheckUtils]: 14: Hoare triple {2532#(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 + (~i~0 * 4 - 2) * 4, 4); {2554#(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-14 18:53:01,874 INFO L273 TraceCheckUtils]: 15: Hoare triple {2554#(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; {2554#(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-14 18:53:01,875 INFO L273 TraceCheckUtils]: 16: Hoare triple {2554#(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 + (~i~0 * 4 - 1) * 4, 4); {2561#(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-14 18:53:01,876 INFO L273 TraceCheckUtils]: 17: Hoare triple {2561#(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 := #t~post2 + 1;havoc #t~post2; {2561#(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-14 18:53:01,876 INFO L273 TraceCheckUtils]: 18: Hoare triple {2561#(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; {2561#(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-14 18:53:01,877 INFO L273 TraceCheckUtils]: 19: Hoare triple {2561#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {2561#(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-14 18:53:01,878 INFO L273 TraceCheckUtils]: 20: Hoare triple {2561#(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; {2574#(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-14 18:53:01,879 INFO L273 TraceCheckUtils]: 21: Hoare triple {2574#(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; {2574#(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-14 18:53:01,880 INFO L273 TraceCheckUtils]: 22: Hoare triple {2574#(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 + ~i~0 * 4, 4); {2574#(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-14 18:53:01,881 INFO L256 TraceCheckUtils]: 23: Hoare triple {2574#(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)); {2584#(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-14 18:53:01,889 INFO L273 TraceCheckUtils]: 24: Hoare triple {2584#(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; {2584#(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-14 18:53:01,892 INFO L273 TraceCheckUtils]: 25: Hoare triple {2584#(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 !(~cond == 0); {2584#(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-14 18:53:01,892 INFO L273 TraceCheckUtils]: 26: Hoare triple {2584#(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; {2584#(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-14 18:53:01,893 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2584#(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)))} {2574#(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; {2574#(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-14 18:53:01,894 INFO L273 TraceCheckUtils]: 28: Hoare triple {2574#(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; {2574#(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-14 18:53:01,894 INFO L273 TraceCheckUtils]: 29: Hoare triple {2574#(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 := #t~post7 + 1;havoc #t~post7; {2554#(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-14 18:53:01,895 INFO L273 TraceCheckUtils]: 30: Hoare triple {2554#(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; {2554#(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-14 18:53:01,896 INFO L273 TraceCheckUtils]: 31: Hoare triple {2554#(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 + ~i~0 * 4, 4); {2554#(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-14 18:53:01,897 INFO L256 TraceCheckUtils]: 32: Hoare triple {2554#(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)); {2584#(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-14 18:53:01,898 INFO L273 TraceCheckUtils]: 33: Hoare triple {2584#(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; {2584#(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-14 18:53:01,898 INFO L273 TraceCheckUtils]: 34: Hoare triple {2584#(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 !(~cond == 0); {2584#(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-14 18:53:01,899 INFO L273 TraceCheckUtils]: 35: Hoare triple {2584#(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; {2584#(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-14 18:53:01,900 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2584#(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)))} {2554#(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; {2554#(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-14 18:53:01,901 INFO L273 TraceCheckUtils]: 37: Hoare triple {2554#(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; {2554#(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-14 18:53:01,902 INFO L273 TraceCheckUtils]: 38: Hoare triple {2554#(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 := #t~post7 + 1;havoc #t~post7; {2630#(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-14 18:53:01,903 INFO L273 TraceCheckUtils]: 39: Hoare triple {2630#(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; {2630#(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-14 18:53:01,904 INFO L273 TraceCheckUtils]: 40: Hoare triple {2630#(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 + ~i~0 * 4, 4); {2637#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:53:01,905 INFO L256 TraceCheckUtils]: 41: Hoare triple {2637#(and (not (= main_~DEFAULTVAL~0 |main_#t~mem8|)) (= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {2641#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:01,905 INFO L273 TraceCheckUtils]: 42: Hoare triple {2641#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2645#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:01,906 INFO L273 TraceCheckUtils]: 43: Hoare triple {2645#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {2495#false} is VALID [2018-11-14 18:53:01,906 INFO L273 TraceCheckUtils]: 44: Hoare triple {2495#false} assume !false; {2495#false} is VALID [2018-11-14 18:53:01,913 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-14 18:53:01,933 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:01,934 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-14 18:53:01,934 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-14 18:53:01,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:01,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-14 18:53:02,092 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-14 18:53:02,092 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-14 18:53:02,092 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-14 18:53:02,093 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=436, Unknown=0, NotChecked=0, Total=506 [2018-11-14 18:53:02,093 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 23 states. [2018-11-14 18:54:00,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:00,276 INFO L93 Difference]: Finished difference Result 149 states and 176 transitions. [2018-11-14 18:54:00,276 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-14 18:54:00,276 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-14 18:54:00,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:54:00,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 18:54:00,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-14 18:54:00,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 18:54:00,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 154 transitions. [2018-11-14 18:54:00,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 154 transitions. [2018-11-14 18:54:00,616 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-14 18:54:00,619 INFO L225 Difference]: With dead ends: 149 [2018-11-14 18:54:00,619 INFO L226 Difference]: Without dead ends: 147 [2018-11-14 18:54:00,620 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 34 SyntacticMatches, 5 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 495 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=309, Invalid=1583, Unknown=0, NotChecked=0, Total=1892 [2018-11-14 18:54:00,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-14 18:54:00,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 83. [2018-11-14 18:54:00,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:54:00,857 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 83 states. [2018-11-14 18:54:00,858 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 83 states. [2018-11-14 18:54:00,858 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 83 states. [2018-11-14 18:54:00,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:00,864 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2018-11-14 18:54:00,864 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 174 transitions. [2018-11-14 18:54:00,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:00,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:00,865 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 147 states. [2018-11-14 18:54:00,865 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 147 states. [2018-11-14 18:54:00,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:00,871 INFO L93 Difference]: Finished difference Result 147 states and 174 transitions. [2018-11-14 18:54:00,872 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 174 transitions. [2018-11-14 18:54:00,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:00,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:00,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:54:00,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:54:00,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-11-14 18:54:00,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 101 transitions. [2018-11-14 18:54:00,875 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 101 transitions. Word has length 45 [2018-11-14 18:54:00,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:54:00,876 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 101 transitions. [2018-11-14 18:54:00,876 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-14 18:54:00,876 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 101 transitions. [2018-11-14 18:54:00,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-14 18:54:00,877 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:54:00,877 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-14 18:54:00,877 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:54:00,877 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:54:00,878 INFO L82 PathProgramCache]: Analyzing trace with hash -1723860980, now seen corresponding path program 1 times [2018-11-14 18:54:00,878 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:54:00,878 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:54:00,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:00,879 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:54:00,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:00,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:01,502 INFO L256 TraceCheckUtils]: 0: Hoare triple {3277#true} call ULTIMATE.init(); {3277#true} is VALID [2018-11-14 18:54:01,502 INFO L273 TraceCheckUtils]: 1: Hoare triple {3277#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3277#true} is VALID [2018-11-14 18:54:01,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {3277#true} assume true; {3277#true} is VALID [2018-11-14 18:54:01,504 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3277#true} {3277#true} #90#return; {3277#true} is VALID [2018-11-14 18:54:01,504 INFO L256 TraceCheckUtils]: 4: Hoare triple {3277#true} call #t~ret9 := main(); {3277#true} is VALID [2018-11-14 18:54:01,505 INFO L273 TraceCheckUtils]: 5: Hoare triple {3277#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3277#true} is VALID [2018-11-14 18:54:01,506 INFO L273 TraceCheckUtils]: 6: Hoare triple {3277#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {3279#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:54:01,509 INFO L273 TraceCheckUtils]: 7: Hoare triple {3279#(and (not (= main_~FIXEDVAL~0 0)) (= 0 main_~DEFAULTVAL~0) (<= 2 ~SIZE~0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {3280#(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-14 18:54:01,513 INFO L273 TraceCheckUtils]: 8: Hoare triple {3280#(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; {3280#(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-14 18:54:01,515 INFO L273 TraceCheckUtils]: 9: Hoare triple {3280#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3280#(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-14 18:54:01,516 INFO L273 TraceCheckUtils]: 10: Hoare triple {3280#(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 + (~i~0 * 4 - 4) * 4, 4); {3280#(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-14 18:54:01,517 INFO L273 TraceCheckUtils]: 11: Hoare triple {3280#(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; {3280#(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-14 18:54:01,518 INFO L273 TraceCheckUtils]: 12: Hoare triple {3280#(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 + (~i~0 * 4 - 3) * 4, 4); {3280#(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-14 18:54:01,519 INFO L273 TraceCheckUtils]: 13: Hoare triple {3280#(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; {3280#(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-14 18:54:01,520 INFO L273 TraceCheckUtils]: 14: Hoare triple {3280#(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 + (~i~0 * 4 - 2) * 4, 4); {3281#(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-14 18:54:01,521 INFO L273 TraceCheckUtils]: 15: Hoare triple {3281#(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; {3281#(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-14 18:54:01,522 INFO L273 TraceCheckUtils]: 16: Hoare triple {3281#(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 + (~i~0 * 4 - 1) * 4, 4); {3281#(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-14 18:54:01,523 INFO L273 TraceCheckUtils]: 17: Hoare triple {3281#(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 := #t~post2 + 1;havoc #t~post2; {3282#(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-14 18:54:01,524 INFO L273 TraceCheckUtils]: 18: Hoare triple {3282#(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; {3282#(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-14 18:54:01,526 INFO L273 TraceCheckUtils]: 19: Hoare triple {3282#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {3283#(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-14 18:54:01,527 INFO L273 TraceCheckUtils]: 20: Hoare triple {3283#(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; {3284#(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-14 18:54:01,528 INFO L273 TraceCheckUtils]: 21: Hoare triple {3284#(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; {3284#(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-14 18:54:01,528 INFO L273 TraceCheckUtils]: 22: Hoare triple {3284#(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 + ~i~0 * 4, 4); {3284#(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-14 18:54:01,529 INFO L256 TraceCheckUtils]: 23: Hoare triple {3284#(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)); {3277#true} is VALID [2018-11-14 18:54:01,529 INFO L273 TraceCheckUtils]: 24: Hoare triple {3277#true} ~cond := #in~cond; {3277#true} is VALID [2018-11-14 18:54:01,529 INFO L273 TraceCheckUtils]: 25: Hoare triple {3277#true} assume !(~cond == 0); {3277#true} is VALID [2018-11-14 18:54:01,529 INFO L273 TraceCheckUtils]: 26: Hoare triple {3277#true} assume true; {3277#true} is VALID [2018-11-14 18:54:01,530 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3277#true} {3284#(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; {3284#(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-14 18:54:01,531 INFO L273 TraceCheckUtils]: 28: Hoare triple {3284#(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; {3284#(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-14 18:54:01,532 INFO L273 TraceCheckUtils]: 29: Hoare triple {3284#(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 := #t~post7 + 1;havoc #t~post7; {3285#(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-14 18:54:01,533 INFO L273 TraceCheckUtils]: 30: Hoare triple {3285#(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; {3285#(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-14 18:54:01,534 INFO L273 TraceCheckUtils]: 31: Hoare triple {3285#(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 + ~i~0 * 4, 4); {3285#(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-14 18:54:01,534 INFO L256 TraceCheckUtils]: 32: Hoare triple {3285#(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)); {3277#true} is VALID [2018-11-14 18:54:01,535 INFO L273 TraceCheckUtils]: 33: Hoare triple {3277#true} ~cond := #in~cond; {3277#true} is VALID [2018-11-14 18:54:01,535 INFO L273 TraceCheckUtils]: 34: Hoare triple {3277#true} assume !(~cond == 0); {3277#true} is VALID [2018-11-14 18:54:01,535 INFO L273 TraceCheckUtils]: 35: Hoare triple {3277#true} assume true; {3277#true} is VALID [2018-11-14 18:54:01,536 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3277#true} {3285#(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; {3285#(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-14 18:54:01,537 INFO L273 TraceCheckUtils]: 37: Hoare triple {3285#(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; {3285#(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-14 18:54:01,538 INFO L273 TraceCheckUtils]: 38: Hoare triple {3285#(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 := #t~post7 + 1;havoc #t~post7; {3286#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-14 18:54:01,539 INFO L273 TraceCheckUtils]: 39: Hoare triple {3286#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} assume true; {3286#(not (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) main_~DEFAULTVAL~0))} is VALID [2018-11-14 18:54:01,539 INFO L273 TraceCheckUtils]: 40: Hoare triple {3286#(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 + ~i~0 * 4, 4); {3287#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} is VALID [2018-11-14 18:54:01,540 INFO L256 TraceCheckUtils]: 41: Hoare triple {3287#(not (= |main_#t~mem8| main_~DEFAULTVAL~0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:01,541 INFO L273 TraceCheckUtils]: 42: Hoare triple {3288#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3289#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:54:01,541 INFO L273 TraceCheckUtils]: 43: Hoare triple {3289#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {3278#false} is VALID [2018-11-14 18:54:01,542 INFO L273 TraceCheckUtils]: 44: Hoare triple {3278#false} assume !false; {3278#false} is VALID [2018-11-14 18:54:01,549 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-14 18:54:01,549 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:54:01,549 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:54:01,558 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:54:01,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:01,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:01,592 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:54:01,699 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-14 18:54:01,706 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-14 18:54:01,707 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,710 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,725 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,726 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:22 [2018-11-14 18:54:01,730 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:01,788 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-14 18:54:01,792 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:54:01,797 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-14 18:54:01,799 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,806 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,816 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:01,816 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:29, output treesize:16 [2018-11-14 18:54:01,820 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:02,117 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-14 18:54:02,121 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-14 18:54:02,125 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:02,127 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:02,131 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:02,132 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-14 18:54:02,134 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:54:02,204 INFO L256 TraceCheckUtils]: 0: Hoare triple {3277#true} call ULTIMATE.init(); {3277#true} is VALID [2018-11-14 18:54:02,204 INFO L273 TraceCheckUtils]: 1: Hoare triple {3277#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3277#true} is VALID [2018-11-14 18:54:02,204 INFO L273 TraceCheckUtils]: 2: Hoare triple {3277#true} assume true; {3277#true} is VALID [2018-11-14 18:54:02,204 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3277#true} {3277#true} #90#return; {3277#true} is VALID [2018-11-14 18:54:02,205 INFO L256 TraceCheckUtils]: 4: Hoare triple {3277#true} call #t~ret9 := main(); {3277#true} is VALID [2018-11-14 18:54:02,205 INFO L273 TraceCheckUtils]: 5: Hoare triple {3277#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3277#true} is VALID [2018-11-14 18:54:02,205 INFO L273 TraceCheckUtils]: 6: Hoare triple {3277#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {3311#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,206 INFO L273 TraceCheckUtils]: 7: Hoare triple {3311#(and (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,206 INFO L273 TraceCheckUtils]: 8: Hoare triple {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} assume true; {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,207 INFO L273 TraceCheckUtils]: 9: Hoare triple {3315#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,207 INFO L273 TraceCheckUtils]: 10: Hoare triple {3315#(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 + (~i~0 * 4 - 4) * 4, 4); {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,208 INFO L273 TraceCheckUtils]: 11: Hoare triple {3315#(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; {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,208 INFO L273 TraceCheckUtils]: 12: Hoare triple {3315#(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 + (~i~0 * 4 - 3) * 4, 4); {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,209 INFO L273 TraceCheckUtils]: 13: Hoare triple {3315#(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; {3315#(and (= main_~i~0 1) (<= 10 main_~FIXEDVAL~0) (= |main_~#a~0.offset| 0) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,210 INFO L273 TraceCheckUtils]: 14: Hoare triple {3315#(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 + (~i~0 * 4 - 2) * 4, 4); {3337#(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-14 18:54:02,212 INFO L273 TraceCheckUtils]: 15: Hoare triple {3337#(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; {3337#(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-14 18:54:02,213 INFO L273 TraceCheckUtils]: 16: Hoare triple {3337#(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 + (~i~0 * 4 - 1) * 4, 4); {3344#(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-14 18:54:02,214 INFO L273 TraceCheckUtils]: 17: Hoare triple {3344#(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 := #t~post2 + 1;havoc #t~post2; {3344#(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-14 18:54:02,214 INFO L273 TraceCheckUtils]: 18: Hoare triple {3344#(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; {3344#(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-14 18:54:02,215 INFO L273 TraceCheckUtils]: 19: Hoare triple {3344#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {3344#(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-14 18:54:02,216 INFO L273 TraceCheckUtils]: 20: Hoare triple {3344#(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; {3357#(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-14 18:54:02,217 INFO L273 TraceCheckUtils]: 21: Hoare triple {3357#(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; {3357#(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-14 18:54:02,218 INFO L273 TraceCheckUtils]: 22: Hoare triple {3357#(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 + ~i~0 * 4, 4); {3357#(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-14 18:54:02,219 INFO L256 TraceCheckUtils]: 23: Hoare triple {3357#(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)); {3367#(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-14 18:54:02,220 INFO L273 TraceCheckUtils]: 24: Hoare triple {3367#(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; {3367#(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-14 18:54:02,220 INFO L273 TraceCheckUtils]: 25: Hoare triple {3367#(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 !(~cond == 0); {3367#(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-14 18:54:02,221 INFO L273 TraceCheckUtils]: 26: Hoare triple {3367#(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; {3367#(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-14 18:54:02,222 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3367#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} {3357#(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; {3357#(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-14 18:54:02,222 INFO L273 TraceCheckUtils]: 28: Hoare triple {3357#(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; {3357#(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-14 18:54:02,224 INFO L273 TraceCheckUtils]: 29: Hoare triple {3357#(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 := #t~post7 + 1;havoc #t~post7; {3337#(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-14 18:54:02,224 INFO L273 TraceCheckUtils]: 30: Hoare triple {3337#(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; {3337#(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-14 18:54:02,225 INFO L273 TraceCheckUtils]: 31: Hoare triple {3337#(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 + ~i~0 * 4, 4); {3337#(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-14 18:54:02,227 INFO L256 TraceCheckUtils]: 32: Hoare triple {3337#(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)); {3367#(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-14 18:54:02,227 INFO L273 TraceCheckUtils]: 33: Hoare triple {3367#(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; {3367#(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-14 18:54:02,228 INFO L273 TraceCheckUtils]: 34: Hoare triple {3367#(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 !(~cond == 0); {3367#(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-14 18:54:02,229 INFO L273 TraceCheckUtils]: 35: Hoare triple {3367#(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; {3367#(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-14 18:54:02,234 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {3367#(exists ((|v_main_~#a~0.base_BEFORE_CALL_5| Int)) (<= 10 (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_5|) 8)))} {3337#(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; {3337#(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-14 18:54:02,235 INFO L273 TraceCheckUtils]: 37: Hoare triple {3337#(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; {3337#(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-14 18:54:02,236 INFO L273 TraceCheckUtils]: 38: Hoare triple {3337#(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 := #t~post7 + 1;havoc #t~post7; {3413#(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-14 18:54:02,236 INFO L273 TraceCheckUtils]: 39: Hoare triple {3413#(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; {3413#(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-14 18:54:02,237 INFO L273 TraceCheckUtils]: 40: Hoare triple {3413#(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 + ~i~0 * 4, 4); {3420#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} is VALID [2018-11-14 18:54:02,238 INFO L256 TraceCheckUtils]: 41: Hoare triple {3420#(and (<= 10 |main_#t~mem8|) (<= main_~DEFAULTVAL~0 0))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {3424#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:54:02,238 INFO L273 TraceCheckUtils]: 42: Hoare triple {3424#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3428#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:54:02,239 INFO L273 TraceCheckUtils]: 43: Hoare triple {3428#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {3278#false} is VALID [2018-11-14 18:54:02,239 INFO L273 TraceCheckUtils]: 44: Hoare triple {3278#false} assume !false; {3278#false} is VALID [2018-11-14 18:54:02,246 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-14 18:54:02,266 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:54:02,266 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12] total 23 [2018-11-14 18:54:02,267 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-14 18:54:02,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:54:02,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-14 18:54:02,360 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-14 18:54:02,360 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-14 18:54:02,361 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-14 18:54:02,361 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=447, Unknown=0, NotChecked=0, Total=506 [2018-11-14 18:54:02,361 INFO L87 Difference]: Start difference. First operand 83 states and 101 transitions. Second operand 23 states. [2018-11-14 18:54:12,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:12,129 INFO L93 Difference]: Finished difference Result 196 states and 233 transitions. [2018-11-14 18:54:12,129 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2018-11-14 18:54:12,129 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 45 [2018-11-14 18:54:12,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:54:12,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 18:54:12,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 186 transitions. [2018-11-14 18:54:12,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-14 18:54:12,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 186 transitions. [2018-11-14 18:54:12,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 186 transitions. [2018-11-14 18:54:12,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:54:12,449 INFO L225 Difference]: With dead ends: 196 [2018-11-14 18:54:12,449 INFO L226 Difference]: Without dead ends: 194 [2018-11-14 18:54:12,450 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 33 SyntacticMatches, 5 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 515 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=345, Invalid=2007, Unknown=0, NotChecked=0, Total=2352 [2018-11-14 18:54:12,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2018-11-14 18:54:12,732 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 103. [2018-11-14 18:54:12,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:54:12,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand 103 states. [2018-11-14 18:54:12,732 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand 103 states. [2018-11-14 18:54:12,733 INFO L87 Difference]: Start difference. First operand 194 states. Second operand 103 states. [2018-11-14 18:54:12,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:12,740 INFO L93 Difference]: Finished difference Result 194 states and 231 transitions. [2018-11-14 18:54:12,741 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 231 transitions. [2018-11-14 18:54:12,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:12,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:12,741 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 194 states. [2018-11-14 18:54:12,741 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 194 states. [2018-11-14 18:54:12,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:54:12,749 INFO L93 Difference]: Finished difference Result 194 states and 231 transitions. [2018-11-14 18:54:12,749 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 231 transitions. [2018-11-14 18:54:12,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:54:12,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:54:12,750 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:54:12,750 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:54:12,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-11-14 18:54:12,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 131 transitions. [2018-11-14 18:54:12,754 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 131 transitions. Word has length 45 [2018-11-14 18:54:12,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:54:12,754 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 131 transitions. [2018-11-14 18:54:12,754 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-14 18:54:12,754 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 131 transitions. [2018-11-14 18:54:12,755 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-14 18:54:12,755 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:54:12,755 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-14 18:54:12,756 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:54:12,756 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:54:12,756 INFO L82 PathProgramCache]: Analyzing trace with hash -710757172, now seen corresponding path program 3 times [2018-11-14 18:54:12,756 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:54:12,756 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:54:12,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:12,757 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:54:12,757 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:54:12,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:13,205 INFO L256 TraceCheckUtils]: 0: Hoare triple {4246#true} call ULTIMATE.init(); {4246#true} is VALID [2018-11-14 18:54:13,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {4246#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {4246#true} is VALID [2018-11-14 18:54:13,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {4246#true} assume true; {4246#true} is VALID [2018-11-14 18:54:13,206 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4246#true} {4246#true} #90#return; {4246#true} is VALID [2018-11-14 18:54:13,206 INFO L256 TraceCheckUtils]: 4: Hoare triple {4246#true} call #t~ret9 := main(); {4246#true} is VALID [2018-11-14 18:54:13,206 INFO L273 TraceCheckUtils]: 5: Hoare triple {4246#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {4246#true} is VALID [2018-11-14 18:54:13,207 INFO L273 TraceCheckUtils]: 6: Hoare triple {4246#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~value~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~DEFAULTVAL~0 := 0;~FIXEDVAL~0 := 10; {4248#(or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:54:13,208 INFO L273 TraceCheckUtils]: 7: Hoare triple {4248#(or (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (<= 2 ~SIZE~0))} assume !((if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) != 0);assume (if (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 % 4 - 4 else ~SIZE~0 % 4) == 0 then 1 else 0) != 0;~i~0 := 1; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,208 INFO L273 TraceCheckUtils]: 8: Hoare triple {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume true; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,209 INFO L273 TraceCheckUtils]: 9: Hoare triple {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4));call #t~ret3 := ReadFromPort();assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~value~0 := #t~ret3;havoc #t~ret3; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,210 INFO L273 TraceCheckUtils]: 10: Hoare triple {4249#(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 + (~i~0 * 4 - 4) * 4, 4); {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,211 INFO L273 TraceCheckUtils]: 11: Hoare triple {4249#(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; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,211 INFO L273 TraceCheckUtils]: 12: Hoare triple {4249#(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 + (~i~0 * 4 - 3) * 4, 4); {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,212 INFO L273 TraceCheckUtils]: 13: Hoare triple {4249#(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; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,213 INFO L273 TraceCheckUtils]: 14: Hoare triple {4249#(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 + (~i~0 * 4 - 2) * 4, 4); {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,214 INFO L273 TraceCheckUtils]: 15: Hoare triple {4249#(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; {4249#(and (= ~SIZE~0 (* 4 (div ~SIZE~0 4))) (= main_~i~0 1))} is VALID [2018-11-14 18:54:13,215 INFO L273 TraceCheckUtils]: 16: Hoare triple {4249#(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 + (~i~0 * 4 - 1) * 4, 4); {4250#(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-14 18:54:13,216 INFO L273 TraceCheckUtils]: 17: Hoare triple {4250#(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 := #t~post2 + 1;havoc #t~post2; {4251#(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-14 18:54:13,217 INFO L273 TraceCheckUtils]: 18: Hoare triple {4251#(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; {4251#(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-14 18:54:13,219 INFO L273 TraceCheckUtils]: 19: Hoare triple {4251#(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 && ~SIZE~0 % 4 != 0 then ~SIZE~0 / 4 + 1 else ~SIZE~0 / 4)); {4252#(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-14 18:54:13,220 INFO L273 TraceCheckUtils]: 20: Hoare triple {4252#(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; {4253#(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-14 18:54:13,220 INFO L273 TraceCheckUtils]: 21: Hoare triple {4253#(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; {4253#(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-14 18:54:13,221 INFO L273 TraceCheckUtils]: 22: Hoare triple {4253#(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 + ~i~0 * 4, 4); {4253#(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-14 18:54:13,221 INFO L256 TraceCheckUtils]: 23: Hoare triple {4253#(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)); {4246#true} is VALID [2018-11-14 18:54:13,222 INFO L273 TraceCheckUtils]: 24: Hoare triple {4246#true} ~cond := #in~cond; {4246#true} is VALID [2018-11-14 18:54:13,222 INFO L273 TraceCheckUtils]: 25: Hoare triple {4246#true} assume !(~cond == 0); {4246#true} is VALID [2018-11-14 18:54:13,222 INFO L273 TraceCheckUtils]: 26: Hoare triple {4246#true} assume true; {4246#true} is VALID [2018-11-14 18:54:13,223 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4246#true} {4253#(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; {4253#(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-14 18:54:13,224 INFO L273 TraceCheckUtils]: 28: Hoare triple {4253#(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; {4253#(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-14 18:54:13,225 INFO L273 TraceCheckUtils]: 29: Hoare triple {4253#(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 := #t~post7 + 1;havoc #t~post7; {4254#(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-14 18:54:13,225 INFO L273 TraceCheckUtils]: 30: Hoare triple {4254#(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; {4254#(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-14 18:54:13,226 INFO L273 TraceCheckUtils]: 31: Hoare triple {4254#(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 + ~i~0 * 4, 4); {4254#(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-14 18:54:13,226 INFO L256 TraceCheckUtils]: 32: Hoare triple {4254#(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)); {4246#true} is VALID [2018-11-14 18:54:13,226 INFO L273 TraceCheckUtils]: 33: Hoare triple {4246#true} ~cond := #in~cond; {4246#true} is VALID [2018-11-14 18:54:13,226 INFO L273 TraceCheckUtils]: 34: Hoare triple {4246#true} assume !(~cond == 0); {4246#true} is VALID [2018-11-14 18:54:13,227 INFO L273 TraceCheckUtils]: 35: Hoare triple {4246#true} assume true; {4246#true} is VALID [2018-11-14 18:54:13,228 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4246#true} {4254#(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; {4254#(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-14 18:54:13,228 INFO L273 TraceCheckUtils]: 37: Hoare triple {4254#(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; {4254#(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-14 18:54:13,229 INFO L273 TraceCheckUtils]: 38: Hoare triple {4254#(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 := #t~post7 + 1;havoc #t~post7; {4255#(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-14 18:54:13,230 INFO L273 TraceCheckUtils]: 39: Hoare triple {4255#(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; {4255#(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-14 18:54:13,230 INFO L273 TraceCheckUtils]: 40: Hoare triple {4255#(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 + ~i~0 * 4, 4); {4255#(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-14 18:54:13,230 INFO L256 TraceCheckUtils]: 41: Hoare triple {4255#(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)); {4246#true} is VALID [2018-11-14 18:54:13,231 INFO L273 TraceCheckUtils]: 42: Hoare triple {4246#true} ~cond := #in~cond; {4246#true} is VALID [2018-11-14 18:54:13,231 INFO L273 TraceCheckUtils]: 43: Hoare triple {4246#true} assume !(~cond == 0); {4246#true} is VALID [2018-11-14 18:54:13,231 INFO L273 TraceCheckUtils]: 44: Hoare triple {4246#true} assume true; {4246#true} is VALID [2018-11-14 18:54:13,231 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {4246#true} {4255#(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; {4255#(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-14 18:54:13,232 INFO L273 TraceCheckUtils]: 46: Hoare triple {4255#(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; {4255#(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-14 18:54:13,249 INFO L273 TraceCheckUtils]: 47: Hoare triple {4255#(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 := #t~post7 + 1;havoc #t~post7; {4256#(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-14 18:54:13,249 INFO L273 TraceCheckUtils]: 48: Hoare triple {4256#(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; {4256#(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-14 18:54:13,250 INFO L273 TraceCheckUtils]: 49: Hoare triple {4256#(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 + ~i~0 * 4, 4); {4257#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} is VALID [2018-11-14 18:54:13,251 INFO L256 TraceCheckUtils]: 50: Hoare triple {4257#(not (= main_~DEFAULTVAL~0 |main_#t~mem8|))} call __VERIFIER_assert((if #t~mem8 != ~DEFAULTVAL~0 then 1 else 0)); {4258#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:54:13,251 INFO L273 TraceCheckUtils]: 51: Hoare triple {4258#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4259#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:54:13,251 INFO L273 TraceCheckUtils]: 52: Hoare triple {4259#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {4247#false} is VALID [2018-11-14 18:54:13,252 INFO L273 TraceCheckUtils]: 53: Hoare triple {4247#false} assume !false; {4247#false} is VALID [2018-11-14 18:54:13,260 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-14 18:54:13,260 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:54:13,260 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:54:13,268 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:54:13,295 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-14 18:54:13,295 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:54:13,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:54:13,314 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:54:13,405 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-14 18:54:13,411 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-14 18:54:13,415 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:54:13,417 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:13,424 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:54:13,425 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:21, output treesize:14 [2018-11-14 18:54:13,428 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN.