java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-examples/standard_reverse_true-unreach-call_ground.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:05:59,126 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:05:59,128 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:05:59,145 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:05:59,145 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:05:59,147 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:05:59,148 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:05:59,151 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:05:59,155 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:05:59,156 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:05:59,158 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:05:59,158 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:05:59,159 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:05:59,160 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:05:59,168 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:05:59,169 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:05:59,172 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:05:59,174 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:05:59,179 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:05:59,182 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:05:59,183 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:05:59,185 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:05:59,187 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:05:59,188 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:05:59,188 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:05:59,191 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:05:59,193 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:05:59,193 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:05:59,194 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:05:59,196 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:05:59,196 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:05:59,198 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:05:59,198 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:05:59,198 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:05:59,199 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:05:59,200 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:05:59,200 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:05:59,225 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:05:59,225 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:05:59,231 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:05:59,231 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:05:59,235 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:05:59,235 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:05:59,235 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:05:59,236 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:05:59,236 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:05:59,236 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:05:59,236 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:05:59,236 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:05:59,239 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:05:59,239 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:05:59,240 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:05:59,240 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:05:59,240 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:05:59,240 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:05:59,240 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:05:59,241 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:05:59,241 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:05:59,241 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:05:59,241 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:05:59,241 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:05:59,241 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:05:59,242 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:05:59,242 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:05:59,243 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:05:59,243 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:05:59,243 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:05:59,243 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:05:59,296 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:05:59,315 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:05:59,319 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:05:59,321 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:05:59,322 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:05:59,322 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-examples/standard_reverse_true-unreach-call_ground.i [2018-11-23 12:05:59,390 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac428660a/0c197df7440745648db725528f534329/FLAG6f5594565 [2018-11-23 12:05:59,864 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:05:59,865 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-examples/standard_reverse_true-unreach-call_ground.i [2018-11-23 12:05:59,871 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac428660a/0c197df7440745648db725528f534329/FLAG6f5594565 [2018-11-23 12:06:00,240 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ac428660a/0c197df7440745648db725528f534329 [2018-11-23 12:06:00,249 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:06:00,251 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:06:00,252 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:06:00,252 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:06:00,259 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:06:00,260 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,264 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e75a9ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00, skipping insertion in model container [2018-11-23 12:06:00,264 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,273 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:06:00,296 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:06:00,565 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:06:00,571 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:06:00,602 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:06:00,630 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:06:00,631 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00 WrapperNode [2018-11-23 12:06:00,631 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:06:00,632 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:06:00,632 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:06:00,632 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:06:00,642 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,652 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,659 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:06:00,659 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:06:00,659 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:06:00,659 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:06:00,667 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,668 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,669 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,670 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,679 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,685 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,686 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... [2018-11-23 12:06:00,689 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:06:00,689 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:06:00,689 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:06:00,690 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:06:00,691 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:06:00,827 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:06:00,827 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:06:00,828 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:06:00,828 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:06:00,828 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:06:00,828 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:06:00,828 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:06:00,828 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:06:00,828 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:06:00,829 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:06:00,829 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:06:00,829 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:06:01,335 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:06:01,336 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:06:01,337 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:06:01 BoogieIcfgContainer [2018-11-23 12:06:01,337 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:06:01,338 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:06:01,338 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:06:01,342 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:06:01,342 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:06:00" (1/3) ... [2018-11-23 12:06:01,343 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@504f592b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:06:01, skipping insertion in model container [2018-11-23 12:06:01,343 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:06:00" (2/3) ... [2018-11-23 12:06:01,343 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@504f592b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:06:01, skipping insertion in model container [2018-11-23 12:06:01,344 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:06:01" (3/3) ... [2018-11-23 12:06:01,345 INFO L112 eAbstractionObserver]: Analyzing ICFG standard_reverse_true-unreach-call_ground.i [2018-11-23 12:06:01,354 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:06:01,363 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:06:01,380 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:06:01,413 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:06:01,414 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:06:01,414 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:06:01,415 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:06:01,415 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:06:01,415 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:06:01,415 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:06:01,416 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:06:01,416 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:06:01,436 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states. [2018-11-23 12:06:01,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 12:06:01,443 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:01,444 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:01,446 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:01,452 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:01,452 INFO L82 PathProgramCache]: Analyzing trace with hash -1821336840, now seen corresponding path program 1 times [2018-11-23 12:06:01,454 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:01,454 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:01,509 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:01,509 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:01,510 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:01,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:01,605 INFO L256 TraceCheckUtils]: 0: Hoare triple {27#true} call ULTIMATE.init(); {27#true} is VALID [2018-11-23 12:06:01,610 INFO L273 TraceCheckUtils]: 1: Hoare triple {27#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27#true} is VALID [2018-11-23 12:06:01,610 INFO L273 TraceCheckUtils]: 2: Hoare triple {27#true} assume true; {27#true} is VALID [2018-11-23 12:06:01,611 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27#true} {27#true} #49#return; {27#true} is VALID [2018-11-23 12:06:01,611 INFO L256 TraceCheckUtils]: 4: Hoare triple {27#true} call #t~ret5 := main(); {27#true} is VALID [2018-11-23 12:06:01,612 INFO L273 TraceCheckUtils]: 5: Hoare triple {27#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {27#true} is VALID [2018-11-23 12:06:01,615 INFO L273 TraceCheckUtils]: 6: Hoare triple {27#true} assume !true; {28#false} is VALID [2018-11-23 12:06:01,615 INFO L273 TraceCheckUtils]: 7: Hoare triple {28#false} havoc ~x~0;~x~0 := 0; {28#false} is VALID [2018-11-23 12:06:01,616 INFO L273 TraceCheckUtils]: 8: Hoare triple {28#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {28#false} is VALID [2018-11-23 12:06:01,616 INFO L256 TraceCheckUtils]: 9: Hoare triple {28#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {28#false} is VALID [2018-11-23 12:06:01,616 INFO L273 TraceCheckUtils]: 10: Hoare triple {28#false} ~cond := #in~cond; {28#false} is VALID [2018-11-23 12:06:01,617 INFO L273 TraceCheckUtils]: 11: Hoare triple {28#false} assume 0 == ~cond; {28#false} is VALID [2018-11-23 12:06:01,617 INFO L273 TraceCheckUtils]: 12: Hoare triple {28#false} assume !false; {28#false} is VALID [2018-11-23 12:06:01,621 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:01,624 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:06:01,624 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:06:01,628 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 13 [2018-11-23 12:06:01,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:01,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:06:01,702 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:01,702 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:06:01,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:06:01,711 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:06:01,714 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 2 states. [2018-11-23 12:06:01,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:01,870 INFO L93 Difference]: Finished difference Result 40 states and 47 transitions. [2018-11-23 12:06:01,870 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:06:01,870 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 13 [2018-11-23 12:06:01,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:01,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:06:01,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 47 transitions. [2018-11-23 12:06:01,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:06:01,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 47 transitions. [2018-11-23 12:06:01,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 47 transitions. [2018-11-23 12:06:02,198 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:02,209 INFO L225 Difference]: With dead ends: 40 [2018-11-23 12:06:02,209 INFO L226 Difference]: Without dead ends: 19 [2018-11-23 12:06:02,213 INFO L631 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-23 12:06:02,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 19 states. [2018-11-23 12:06:02,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 19 to 19. [2018-11-23 12:06:02,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:02,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 19 states. Second operand 19 states. [2018-11-23 12:06:02,252 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 12:06:02,252 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 12:06:02,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:02,257 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 12:06:02,257 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:06:02,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:02,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:02,258 INFO L74 IsIncluded]: Start isIncluded. First operand 19 states. Second operand 19 states. [2018-11-23 12:06:02,258 INFO L87 Difference]: Start difference. First operand 19 states. Second operand 19 states. [2018-11-23 12:06:02,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:02,262 INFO L93 Difference]: Finished difference Result 19 states and 20 transitions. [2018-11-23 12:06:02,262 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:06:02,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:02,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:02,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:02,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:02,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:06:02,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 20 transitions. [2018-11-23 12:06:02,267 INFO L78 Accepts]: Start accepts. Automaton has 19 states and 20 transitions. Word has length 13 [2018-11-23 12:06:02,268 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:02,268 INFO L480 AbstractCegarLoop]: Abstraction has 19 states and 20 transitions. [2018-11-23 12:06:02,268 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:06:02,268 INFO L276 IsEmpty]: Start isEmpty. Operand 19 states and 20 transitions. [2018-11-23 12:06:02,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2018-11-23 12:06:02,269 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:02,269 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:02,270 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:02,270 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:02,270 INFO L82 PathProgramCache]: Analyzing trace with hash 1443575666, now seen corresponding path program 1 times [2018-11-23 12:06:02,270 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:02,270 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:02,272 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:02,272 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:02,272 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:02,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:02,385 INFO L256 TraceCheckUtils]: 0: Hoare triple {147#true} call ULTIMATE.init(); {147#true} is VALID [2018-11-23 12:06:02,386 INFO L273 TraceCheckUtils]: 1: Hoare triple {147#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {147#true} is VALID [2018-11-23 12:06:02,386 INFO L273 TraceCheckUtils]: 2: Hoare triple {147#true} assume true; {147#true} is VALID [2018-11-23 12:06:02,386 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {147#true} {147#true} #49#return; {147#true} is VALID [2018-11-23 12:06:02,386 INFO L256 TraceCheckUtils]: 4: Hoare triple {147#true} call #t~ret5 := main(); {147#true} is VALID [2018-11-23 12:06:02,388 INFO L273 TraceCheckUtils]: 5: Hoare triple {147#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {149#(= main_~i~0 0)} is VALID [2018-11-23 12:06:02,389 INFO L273 TraceCheckUtils]: 6: Hoare triple {149#(= main_~i~0 0)} assume !(~i~0 < 100000); {148#false} is VALID [2018-11-23 12:06:02,389 INFO L273 TraceCheckUtils]: 7: Hoare triple {148#false} havoc ~x~0;~x~0 := 0; {148#false} is VALID [2018-11-23 12:06:02,389 INFO L273 TraceCheckUtils]: 8: Hoare triple {148#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {148#false} is VALID [2018-11-23 12:06:02,389 INFO L256 TraceCheckUtils]: 9: Hoare triple {148#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {148#false} is VALID [2018-11-23 12:06:02,390 INFO L273 TraceCheckUtils]: 10: Hoare triple {148#false} ~cond := #in~cond; {148#false} is VALID [2018-11-23 12:06:02,390 INFO L273 TraceCheckUtils]: 11: Hoare triple {148#false} assume 0 == ~cond; {148#false} is VALID [2018-11-23 12:06:02,390 INFO L273 TraceCheckUtils]: 12: Hoare triple {148#false} assume !false; {148#false} is VALID [2018-11-23 12:06:02,391 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:02,392 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:06:02,392 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:06:02,393 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 13 [2018-11-23 12:06:02,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:02,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:06:02,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:02,425 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:06:02,426 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:06:02,426 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:06:02,427 INFO L87 Difference]: Start difference. First operand 19 states and 20 transitions. Second operand 3 states. [2018-11-23 12:06:02,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:02,614 INFO L93 Difference]: Finished difference Result 32 states and 34 transitions. [2018-11-23 12:06:02,615 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:06:02,615 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 13 [2018-11-23 12:06:02,615 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:02,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:06:02,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 34 transitions. [2018-11-23 12:06:02,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:06:02,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 34 transitions. [2018-11-23 12:06:02,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 34 transitions. [2018-11-23 12:06:02,747 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:02,749 INFO L225 Difference]: With dead ends: 32 [2018-11-23 12:06:02,749 INFO L226 Difference]: Without dead ends: 21 [2018-11-23 12:06:02,750 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:06:02,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-23 12:06:02,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2018-11-23 12:06:02,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:02,773 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 20 states. [2018-11-23 12:06:02,774 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 20 states. [2018-11-23 12:06:02,774 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 20 states. [2018-11-23 12:06:02,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:02,776 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 12:06:02,776 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 12:06:02,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:02,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:02,777 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 21 states. [2018-11-23 12:06:02,777 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 21 states. [2018-11-23 12:06:02,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:02,780 INFO L93 Difference]: Finished difference Result 21 states and 22 transitions. [2018-11-23 12:06:02,780 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 22 transitions. [2018-11-23 12:06:02,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:02,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:02,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:02,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:02,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:06:02,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 21 transitions. [2018-11-23 12:06:02,784 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 21 transitions. Word has length 13 [2018-11-23 12:06:02,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:02,784 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 21 transitions. [2018-11-23 12:06:02,784 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:06:02,784 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 21 transitions. [2018-11-23 12:06:02,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 12:06:02,785 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:02,785 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:02,786 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:02,786 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:02,786 INFO L82 PathProgramCache]: Analyzing trace with hash 31729808, now seen corresponding path program 1 times [2018-11-23 12:06:02,786 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:02,787 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:02,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:02,788 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:02,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:02,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:02,893 INFO L256 TraceCheckUtils]: 0: Hoare triple {267#true} call ULTIMATE.init(); {267#true} is VALID [2018-11-23 12:06:02,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {267#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {267#true} is VALID [2018-11-23 12:06:02,894 INFO L273 TraceCheckUtils]: 2: Hoare triple {267#true} assume true; {267#true} is VALID [2018-11-23 12:06:02,895 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {267#true} {267#true} #49#return; {267#true} is VALID [2018-11-23 12:06:02,895 INFO L256 TraceCheckUtils]: 4: Hoare triple {267#true} call #t~ret5 := main(); {267#true} is VALID [2018-11-23 12:06:02,897 INFO L273 TraceCheckUtils]: 5: Hoare triple {267#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {269#(= main_~i~0 0)} is VALID [2018-11-23 12:06:02,897 INFO L273 TraceCheckUtils]: 6: Hoare triple {269#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {269#(= main_~i~0 0)} is VALID [2018-11-23 12:06:02,899 INFO L273 TraceCheckUtils]: 7: Hoare triple {269#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {270#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:02,899 INFO L273 TraceCheckUtils]: 8: Hoare triple {270#(<= main_~i~0 1)} assume !(~i~0 < 100000); {268#false} is VALID [2018-11-23 12:06:02,900 INFO L273 TraceCheckUtils]: 9: Hoare triple {268#false} havoc ~x~0;~x~0 := 0; {268#false} is VALID [2018-11-23 12:06:02,900 INFO L273 TraceCheckUtils]: 10: Hoare triple {268#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {268#false} is VALID [2018-11-23 12:06:02,900 INFO L256 TraceCheckUtils]: 11: Hoare triple {268#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {268#false} is VALID [2018-11-23 12:06:02,900 INFO L273 TraceCheckUtils]: 12: Hoare triple {268#false} ~cond := #in~cond; {268#false} is VALID [2018-11-23 12:06:02,901 INFO L273 TraceCheckUtils]: 13: Hoare triple {268#false} assume 0 == ~cond; {268#false} is VALID [2018-11-23 12:06:02,901 INFO L273 TraceCheckUtils]: 14: Hoare triple {268#false} assume !false; {268#false} is VALID [2018-11-23 12:06:02,903 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:02,903 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:02,904 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:02,924 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:02,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:02,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:02,980 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:03,425 INFO L256 TraceCheckUtils]: 0: Hoare triple {267#true} call ULTIMATE.init(); {267#true} is VALID [2018-11-23 12:06:03,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {267#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {267#true} is VALID [2018-11-23 12:06:03,426 INFO L273 TraceCheckUtils]: 2: Hoare triple {267#true} assume true; {267#true} is VALID [2018-11-23 12:06:03,427 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {267#true} {267#true} #49#return; {267#true} is VALID [2018-11-23 12:06:03,427 INFO L256 TraceCheckUtils]: 4: Hoare triple {267#true} call #t~ret5 := main(); {267#true} is VALID [2018-11-23 12:06:03,429 INFO L273 TraceCheckUtils]: 5: Hoare triple {267#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {289#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:03,430 INFO L273 TraceCheckUtils]: 6: Hoare triple {289#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {289#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:03,431 INFO L273 TraceCheckUtils]: 7: Hoare triple {289#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {270#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:03,432 INFO L273 TraceCheckUtils]: 8: Hoare triple {270#(<= main_~i~0 1)} assume !(~i~0 < 100000); {268#false} is VALID [2018-11-23 12:06:03,433 INFO L273 TraceCheckUtils]: 9: Hoare triple {268#false} havoc ~x~0;~x~0 := 0; {268#false} is VALID [2018-11-23 12:06:03,433 INFO L273 TraceCheckUtils]: 10: Hoare triple {268#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {268#false} is VALID [2018-11-23 12:06:03,433 INFO L256 TraceCheckUtils]: 11: Hoare triple {268#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {268#false} is VALID [2018-11-23 12:06:03,434 INFO L273 TraceCheckUtils]: 12: Hoare triple {268#false} ~cond := #in~cond; {268#false} is VALID [2018-11-23 12:06:03,434 INFO L273 TraceCheckUtils]: 13: Hoare triple {268#false} assume 0 == ~cond; {268#false} is VALID [2018-11-23 12:06:03,434 INFO L273 TraceCheckUtils]: 14: Hoare triple {268#false} assume !false; {268#false} is VALID [2018-11-23 12:06:03,436 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:03,459 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:06:03,459 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:06:03,460 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2018-11-23 12:06:03,460 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:03,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:06:03,500 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:03,501 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:06:03,501 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:06:03,501 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:06:03,502 INFO L87 Difference]: Start difference. First operand 20 states and 21 transitions. Second operand 5 states. [2018-11-23 12:06:03,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:03,771 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2018-11-23 12:06:03,771 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:06:03,772 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2018-11-23 12:06:03,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:03,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:06:03,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2018-11-23 12:06:03,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:06:03,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2018-11-23 12:06:03,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 36 transitions. [2018-11-23 12:06:03,909 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:03,911 INFO L225 Difference]: With dead ends: 34 [2018-11-23 12:06:03,912 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 12:06:03,913 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:06:03,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 12:06:03,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 22. [2018-11-23 12:06:03,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:03,929 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 22 states. [2018-11-23 12:06:03,929 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 22 states. [2018-11-23 12:06:03,929 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 22 states. [2018-11-23 12:06:03,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:03,931 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2018-11-23 12:06:03,932 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2018-11-23 12:06:03,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:03,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:03,932 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 23 states. [2018-11-23 12:06:03,933 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 23 states. [2018-11-23 12:06:03,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:03,935 INFO L93 Difference]: Finished difference Result 23 states and 24 transitions. [2018-11-23 12:06:03,935 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 24 transitions. [2018-11-23 12:06:03,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:03,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:03,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:03,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:03,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:06:03,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 23 transitions. [2018-11-23 12:06:03,938 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 23 transitions. Word has length 15 [2018-11-23 12:06:03,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:03,938 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 23 transitions. [2018-11-23 12:06:03,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:06:03,939 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 23 transitions. [2018-11-23 12:06:03,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 12:06:03,940 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:03,940 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:03,940 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:03,940 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:03,941 INFO L82 PathProgramCache]: Analyzing trace with hash 457525806, now seen corresponding path program 2 times [2018-11-23 12:06:03,941 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:03,941 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:03,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:03,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:03,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:03,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:04,064 INFO L256 TraceCheckUtils]: 0: Hoare triple {441#true} call ULTIMATE.init(); {441#true} is VALID [2018-11-23 12:06:04,065 INFO L273 TraceCheckUtils]: 1: Hoare triple {441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {441#true} is VALID [2018-11-23 12:06:04,065 INFO L273 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2018-11-23 12:06:04,066 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #49#return; {441#true} is VALID [2018-11-23 12:06:04,066 INFO L256 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret5 := main(); {441#true} is VALID [2018-11-23 12:06:04,071 INFO L273 TraceCheckUtils]: 5: Hoare triple {441#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {443#(= main_~i~0 0)} is VALID [2018-11-23 12:06:04,073 INFO L273 TraceCheckUtils]: 6: Hoare triple {443#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {443#(= main_~i~0 0)} is VALID [2018-11-23 12:06:04,075 INFO L273 TraceCheckUtils]: 7: Hoare triple {443#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,075 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,077 INFO L273 TraceCheckUtils]: 9: Hoare triple {444#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {445#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:04,079 INFO L273 TraceCheckUtils]: 10: Hoare triple {445#(<= main_~i~0 2)} assume !(~i~0 < 100000); {442#false} is VALID [2018-11-23 12:06:04,079 INFO L273 TraceCheckUtils]: 11: Hoare triple {442#false} havoc ~x~0;~x~0 := 0; {442#false} is VALID [2018-11-23 12:06:04,080 INFO L273 TraceCheckUtils]: 12: Hoare triple {442#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {442#false} is VALID [2018-11-23 12:06:04,080 INFO L256 TraceCheckUtils]: 13: Hoare triple {442#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {442#false} is VALID [2018-11-23 12:06:04,080 INFO L273 TraceCheckUtils]: 14: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2018-11-23 12:06:04,081 INFO L273 TraceCheckUtils]: 15: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2018-11-23 12:06:04,081 INFO L273 TraceCheckUtils]: 16: Hoare triple {442#false} assume !false; {442#false} is VALID [2018-11-23 12:06:04,082 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:04,083 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:04,083 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:04,094 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:06:04,111 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:06:04,112 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:06:04,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:04,136 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:04,217 INFO L256 TraceCheckUtils]: 0: Hoare triple {441#true} call ULTIMATE.init(); {441#true} is VALID [2018-11-23 12:06:04,218 INFO L273 TraceCheckUtils]: 1: Hoare triple {441#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {441#true} is VALID [2018-11-23 12:06:04,218 INFO L273 TraceCheckUtils]: 2: Hoare triple {441#true} assume true; {441#true} is VALID [2018-11-23 12:06:04,218 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {441#true} {441#true} #49#return; {441#true} is VALID [2018-11-23 12:06:04,218 INFO L256 TraceCheckUtils]: 4: Hoare triple {441#true} call #t~ret5 := main(); {441#true} is VALID [2018-11-23 12:06:04,219 INFO L273 TraceCheckUtils]: 5: Hoare triple {441#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {464#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:04,221 INFO L273 TraceCheckUtils]: 6: Hoare triple {464#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {464#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:04,221 INFO L273 TraceCheckUtils]: 7: Hoare triple {464#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,223 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {444#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,224 INFO L273 TraceCheckUtils]: 9: Hoare triple {444#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {445#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:04,225 INFO L273 TraceCheckUtils]: 10: Hoare triple {445#(<= main_~i~0 2)} assume !(~i~0 < 100000); {442#false} is VALID [2018-11-23 12:06:04,225 INFO L273 TraceCheckUtils]: 11: Hoare triple {442#false} havoc ~x~0;~x~0 := 0; {442#false} is VALID [2018-11-23 12:06:04,226 INFO L273 TraceCheckUtils]: 12: Hoare triple {442#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {442#false} is VALID [2018-11-23 12:06:04,226 INFO L256 TraceCheckUtils]: 13: Hoare triple {442#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {442#false} is VALID [2018-11-23 12:06:04,226 INFO L273 TraceCheckUtils]: 14: Hoare triple {442#false} ~cond := #in~cond; {442#false} is VALID [2018-11-23 12:06:04,227 INFO L273 TraceCheckUtils]: 15: Hoare triple {442#false} assume 0 == ~cond; {442#false} is VALID [2018-11-23 12:06:04,227 INFO L273 TraceCheckUtils]: 16: Hoare triple {442#false} assume !false; {442#false} is VALID [2018-11-23 12:06:04,229 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:04,252 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:06:04,253 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:06:04,253 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2018-11-23 12:06:04,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:04,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:06:04,317 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:04,317 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:06:04,317 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:06:04,317 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:06:04,318 INFO L87 Difference]: Start difference. First operand 22 states and 23 transitions. Second operand 6 states. [2018-11-23 12:06:04,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:04,527 INFO L93 Difference]: Finished difference Result 36 states and 38 transitions. [2018-11-23 12:06:04,527 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:06:04,527 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 17 [2018-11-23 12:06:04,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:04,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:06:04,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2018-11-23 12:06:04,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:06:04,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2018-11-23 12:06:04,533 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 38 transitions. [2018-11-23 12:06:04,600 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:04,602 INFO L225 Difference]: With dead ends: 36 [2018-11-23 12:06:04,602 INFO L226 Difference]: Without dead ends: 25 [2018-11-23 12:06:04,603 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:06:04,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-23 12:06:04,616 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 24. [2018-11-23 12:06:04,616 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:04,616 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 24 states. [2018-11-23 12:06:04,617 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 24 states. [2018-11-23 12:06:04,617 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 24 states. [2018-11-23 12:06:04,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:04,619 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-23 12:06:04,619 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-23 12:06:04,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:04,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:04,620 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 25 states. [2018-11-23 12:06:04,620 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 25 states. [2018-11-23 12:06:04,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:04,622 INFO L93 Difference]: Finished difference Result 25 states and 26 transitions. [2018-11-23 12:06:04,623 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 26 transitions. [2018-11-23 12:06:04,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:04,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:04,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:04,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:04,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:06:04,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 25 transitions. [2018-11-23 12:06:04,626 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 25 transitions. Word has length 17 [2018-11-23 12:06:04,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:04,626 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 25 transitions. [2018-11-23 12:06:04,626 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:06:04,626 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 25 transitions. [2018-11-23 12:06:04,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 12:06:04,627 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:04,627 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:04,628 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:04,628 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:04,628 INFO L82 PathProgramCache]: Analyzing trace with hash 1625586764, now seen corresponding path program 3 times [2018-11-23 12:06:04,628 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:04,629 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:04,630 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:04,630 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:06:04,630 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:04,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:04,774 INFO L256 TraceCheckUtils]: 0: Hoare triple {632#true} call ULTIMATE.init(); {632#true} is VALID [2018-11-23 12:06:04,774 INFO L273 TraceCheckUtils]: 1: Hoare triple {632#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {632#true} is VALID [2018-11-23 12:06:04,775 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#true} assume true; {632#true} is VALID [2018-11-23 12:06:04,775 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {632#true} {632#true} #49#return; {632#true} is VALID [2018-11-23 12:06:04,776 INFO L256 TraceCheckUtils]: 4: Hoare triple {632#true} call #t~ret5 := main(); {632#true} is VALID [2018-11-23 12:06:04,777 INFO L273 TraceCheckUtils]: 5: Hoare triple {632#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {634#(= main_~i~0 0)} is VALID [2018-11-23 12:06:04,777 INFO L273 TraceCheckUtils]: 6: Hoare triple {634#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {634#(= main_~i~0 0)} is VALID [2018-11-23 12:06:04,778 INFO L273 TraceCheckUtils]: 7: Hoare triple {634#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {635#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {635#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {635#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:04,784 INFO L273 TraceCheckUtils]: 9: Hoare triple {635#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {636#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:04,784 INFO L273 TraceCheckUtils]: 10: Hoare triple {636#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {636#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:04,785 INFO L273 TraceCheckUtils]: 11: Hoare triple {636#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {637#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:04,785 INFO L273 TraceCheckUtils]: 12: Hoare triple {637#(<= main_~i~0 3)} assume !(~i~0 < 100000); {633#false} is VALID [2018-11-23 12:06:04,786 INFO L273 TraceCheckUtils]: 13: Hoare triple {633#false} havoc ~x~0;~x~0 := 0; {633#false} is VALID [2018-11-23 12:06:04,786 INFO L273 TraceCheckUtils]: 14: Hoare triple {633#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {633#false} is VALID [2018-11-23 12:06:04,786 INFO L256 TraceCheckUtils]: 15: Hoare triple {633#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {633#false} is VALID [2018-11-23 12:06:04,786 INFO L273 TraceCheckUtils]: 16: Hoare triple {633#false} ~cond := #in~cond; {633#false} is VALID [2018-11-23 12:06:04,787 INFO L273 TraceCheckUtils]: 17: Hoare triple {633#false} assume 0 == ~cond; {633#false} is VALID [2018-11-23 12:06:04,787 INFO L273 TraceCheckUtils]: 18: Hoare triple {633#false} assume !false; {633#false} is VALID [2018-11-23 12:06:04,788 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:06:04,788 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:04,789 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:04,800 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:06:04,818 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:06:04,818 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:06:04,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:04,836 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:04,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 12:06:04,935 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:04,946 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:04,946 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 12:06:05,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-11-23 12:06:05,026 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2018-11-23 12:06:05,028 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,037 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,054 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,055 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:38, output treesize:34 [2018-11-23 12:06:05,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 28 [2018-11-23 12:06:05,521 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:06:05,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2018-11-23 12:06:05,528 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,540 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:06:05,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2018-11-23 12:06:05,545 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,550 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,578 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:05,578 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:42, output treesize:3 [2018-11-23 12:06:05,581 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:06:05,581 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#a~0.base|, v_main_~i~0_10, |main_~#b~0.base|]. (let ((.cse1 (select |#memory_int| |main_~#b~0.base|)) (.cse0 (select |#memory_int| |main_~#a~0.base|))) (and (= (select .cse0 (+ (* (- 4) v_main_~i~0_10) 399996)) (select .cse1 (* 4 v_main_~i~0_10))) (< v_main_~i~0_10 100000) (= |main_#t~mem4| (select .cse1 399996)) (= (select .cse0 0) |main_#t~mem3|) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 99999 v_main_~i~0_10))) [2018-11-23 12:06:05,581 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem4| |main_#t~mem3|) [2018-11-23 12:06:05,630 INFO L256 TraceCheckUtils]: 0: Hoare triple {632#true} call ULTIMATE.init(); {632#true} is VALID [2018-11-23 12:06:05,631 INFO L273 TraceCheckUtils]: 1: Hoare triple {632#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {632#true} is VALID [2018-11-23 12:06:05,631 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#true} assume true; {632#true} is VALID [2018-11-23 12:06:05,631 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {632#true} {632#true} #49#return; {632#true} is VALID [2018-11-23 12:06:05,632 INFO L256 TraceCheckUtils]: 4: Hoare triple {632#true} call #t~ret5 := main(); {632#true} is VALID [2018-11-23 12:06:05,633 INFO L273 TraceCheckUtils]: 5: Hoare triple {632#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,634 INFO L273 TraceCheckUtils]: 6: Hoare triple {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,634 INFO L273 TraceCheckUtils]: 7: Hoare triple {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,635 INFO L273 TraceCheckUtils]: 8: Hoare triple {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,636 INFO L273 TraceCheckUtils]: 9: Hoare triple {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,637 INFO L273 TraceCheckUtils]: 10: Hoare triple {656#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {672#(and (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,639 INFO L273 TraceCheckUtils]: 11: Hoare triple {672#(and (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {676#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (<= main_~i~0 (+ v_main_~i~0_10 1)) (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,656 INFO L273 TraceCheckUtils]: 12: Hoare triple {676#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (<= main_~i~0 (+ v_main_~i~0_10 1)) (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < 100000); {680#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))) (<= 99999 v_main_~i~0_10))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,658 INFO L273 TraceCheckUtils]: 13: Hoare triple {680#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))) (<= 99999 v_main_~i~0_10))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc ~x~0;~x~0 := 0; {684#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))) (<= 99999 v_main_~i~0_10))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:05,659 INFO L273 TraceCheckUtils]: 14: Hoare triple {684#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_10 Int)) (and (< v_main_~i~0_10 100000) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_10) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_10)))) (<= 99999 v_main_~i~0_10))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {688#(= |main_#t~mem4| |main_#t~mem3|)} is VALID [2018-11-23 12:06:05,660 INFO L256 TraceCheckUtils]: 15: Hoare triple {688#(= |main_#t~mem4| |main_#t~mem3|)} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {692#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:06:05,661 INFO L273 TraceCheckUtils]: 16: Hoare triple {692#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {696#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:06:05,662 INFO L273 TraceCheckUtils]: 17: Hoare triple {696#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {633#false} is VALID [2018-11-23 12:06:05,663 INFO L273 TraceCheckUtils]: 18: Hoare triple {633#false} assume !false; {633#false} is VALID [2018-11-23 12:06:05,667 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:06:05,685 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:06:05,686 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [6] total 14 [2018-11-23 12:06:05,686 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 19 [2018-11-23 12:06:05,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:05,687 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:06:05,769 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:05,769 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:06:05,770 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:06:05,770 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:06:05,771 INFO L87 Difference]: Start difference. First operand 24 states and 25 transitions. Second operand 14 states. [2018-11-23 12:06:07,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:07,449 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-23 12:06:07,450 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:06:07,450 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 19 [2018-11-23 12:06:07,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:07,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:06:07,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 49 transitions. [2018-11-23 12:06:07,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:06:07,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 49 transitions. [2018-11-23 12:06:07,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 49 transitions. [2018-11-23 12:06:07,575 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:07,577 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:06:07,577 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 12:06:07,579 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=136, Invalid=514, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:06:07,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 12:06:07,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 32. [2018-11-23 12:06:07,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:07,708 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 32 states. [2018-11-23 12:06:07,708 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 32 states. [2018-11-23 12:06:07,708 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 32 states. [2018-11-23 12:06:07,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:07,710 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2018-11-23 12:06:07,710 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-11-23 12:06:07,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:07,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:07,711 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 35 states. [2018-11-23 12:06:07,711 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 35 states. [2018-11-23 12:06:07,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:07,713 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2018-11-23 12:06:07,714 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-11-23 12:06:07,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:07,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:07,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:07,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:07,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:06:07,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 33 transitions. [2018-11-23 12:06:07,718 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 33 transitions. Word has length 19 [2018-11-23 12:06:07,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:07,718 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 33 transitions. [2018-11-23 12:06:07,718 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:06:07,718 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 33 transitions. [2018-11-23 12:06:07,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-23 12:06:07,719 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:07,720 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:07,720 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:07,720 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:07,720 INFO L82 PathProgramCache]: Analyzing trace with hash -259891423, now seen corresponding path program 1 times [2018-11-23 12:06:07,720 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:07,720 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:07,721 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:07,721 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:06:07,722 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:07,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:07,848 INFO L256 TraceCheckUtils]: 0: Hoare triple {907#true} call ULTIMATE.init(); {907#true} is VALID [2018-11-23 12:06:07,848 INFO L273 TraceCheckUtils]: 1: Hoare triple {907#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {907#true} is VALID [2018-11-23 12:06:07,848 INFO L273 TraceCheckUtils]: 2: Hoare triple {907#true} assume true; {907#true} is VALID [2018-11-23 12:06:07,849 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {907#true} {907#true} #49#return; {907#true} is VALID [2018-11-23 12:06:07,849 INFO L256 TraceCheckUtils]: 4: Hoare triple {907#true} call #t~ret5 := main(); {907#true} is VALID [2018-11-23 12:06:07,849 INFO L273 TraceCheckUtils]: 5: Hoare triple {907#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {909#(= main_~i~0 0)} is VALID [2018-11-23 12:06:07,851 INFO L273 TraceCheckUtils]: 6: Hoare triple {909#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {909#(= main_~i~0 0)} is VALID [2018-11-23 12:06:07,851 INFO L273 TraceCheckUtils]: 7: Hoare triple {909#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {910#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:07,854 INFO L273 TraceCheckUtils]: 8: Hoare triple {910#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {910#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:07,854 INFO L273 TraceCheckUtils]: 9: Hoare triple {910#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {911#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:07,856 INFO L273 TraceCheckUtils]: 10: Hoare triple {911#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {911#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:07,856 INFO L273 TraceCheckUtils]: 11: Hoare triple {911#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {912#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:07,858 INFO L273 TraceCheckUtils]: 12: Hoare triple {912#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {912#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:07,858 INFO L273 TraceCheckUtils]: 13: Hoare triple {912#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {913#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:07,860 INFO L273 TraceCheckUtils]: 14: Hoare triple {913#(<= main_~i~0 4)} assume !(~i~0 < 100000); {908#false} is VALID [2018-11-23 12:06:07,860 INFO L273 TraceCheckUtils]: 15: Hoare triple {908#false} havoc ~x~0;~x~0 := 0; {908#false} is VALID [2018-11-23 12:06:07,860 INFO L273 TraceCheckUtils]: 16: Hoare triple {908#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {908#false} is VALID [2018-11-23 12:06:07,861 INFO L256 TraceCheckUtils]: 17: Hoare triple {908#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {907#true} is VALID [2018-11-23 12:06:07,861 INFO L273 TraceCheckUtils]: 18: Hoare triple {907#true} ~cond := #in~cond; {907#true} is VALID [2018-11-23 12:06:07,861 INFO L273 TraceCheckUtils]: 19: Hoare triple {907#true} assume !(0 == ~cond); {907#true} is VALID [2018-11-23 12:06:07,862 INFO L273 TraceCheckUtils]: 20: Hoare triple {907#true} assume true; {907#true} is VALID [2018-11-23 12:06:07,862 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {907#true} {908#false} #53#return; {908#false} is VALID [2018-11-23 12:06:07,862 INFO L273 TraceCheckUtils]: 22: Hoare triple {908#false} havoc #t~mem4;havoc #t~mem3; {908#false} is VALID [2018-11-23 12:06:07,862 INFO L273 TraceCheckUtils]: 23: Hoare triple {908#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {908#false} is VALID [2018-11-23 12:06:07,863 INFO L273 TraceCheckUtils]: 24: Hoare triple {908#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {908#false} is VALID [2018-11-23 12:06:07,863 INFO L256 TraceCheckUtils]: 25: Hoare triple {908#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {908#false} is VALID [2018-11-23 12:06:07,863 INFO L273 TraceCheckUtils]: 26: Hoare triple {908#false} ~cond := #in~cond; {908#false} is VALID [2018-11-23 12:06:07,863 INFO L273 TraceCheckUtils]: 27: Hoare triple {908#false} assume 0 == ~cond; {908#false} is VALID [2018-11-23 12:06:07,863 INFO L273 TraceCheckUtils]: 28: Hoare triple {908#false} assume !false; {908#false} is VALID [2018-11-23 12:06:07,865 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 12:06:07,865 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:07,865 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:07,882 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:07,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:07,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:07,936 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:08,197 INFO L256 TraceCheckUtils]: 0: Hoare triple {907#true} call ULTIMATE.init(); {907#true} is VALID [2018-11-23 12:06:08,198 INFO L273 TraceCheckUtils]: 1: Hoare triple {907#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {907#true} is VALID [2018-11-23 12:06:08,198 INFO L273 TraceCheckUtils]: 2: Hoare triple {907#true} assume true; {907#true} is VALID [2018-11-23 12:06:08,198 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {907#true} {907#true} #49#return; {907#true} is VALID [2018-11-23 12:06:08,199 INFO L256 TraceCheckUtils]: 4: Hoare triple {907#true} call #t~ret5 := main(); {907#true} is VALID [2018-11-23 12:06:08,203 INFO L273 TraceCheckUtils]: 5: Hoare triple {907#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {932#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:08,204 INFO L273 TraceCheckUtils]: 6: Hoare triple {932#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {932#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:08,204 INFO L273 TraceCheckUtils]: 7: Hoare triple {932#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {910#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:08,205 INFO L273 TraceCheckUtils]: 8: Hoare triple {910#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {910#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:08,205 INFO L273 TraceCheckUtils]: 9: Hoare triple {910#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {911#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:08,220 INFO L273 TraceCheckUtils]: 10: Hoare triple {911#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {911#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:08,235 INFO L273 TraceCheckUtils]: 11: Hoare triple {911#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {912#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:08,244 INFO L273 TraceCheckUtils]: 12: Hoare triple {912#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {912#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:08,252 INFO L273 TraceCheckUtils]: 13: Hoare triple {912#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {913#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:08,253 INFO L273 TraceCheckUtils]: 14: Hoare triple {913#(<= main_~i~0 4)} assume !(~i~0 < 100000); {908#false} is VALID [2018-11-23 12:06:08,253 INFO L273 TraceCheckUtils]: 15: Hoare triple {908#false} havoc ~x~0;~x~0 := 0; {908#false} is VALID [2018-11-23 12:06:08,253 INFO L273 TraceCheckUtils]: 16: Hoare triple {908#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {908#false} is VALID [2018-11-23 12:06:08,253 INFO L256 TraceCheckUtils]: 17: Hoare triple {908#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {908#false} is VALID [2018-11-23 12:06:08,254 INFO L273 TraceCheckUtils]: 18: Hoare triple {908#false} ~cond := #in~cond; {908#false} is VALID [2018-11-23 12:06:08,254 INFO L273 TraceCheckUtils]: 19: Hoare triple {908#false} assume !(0 == ~cond); {908#false} is VALID [2018-11-23 12:06:08,254 INFO L273 TraceCheckUtils]: 20: Hoare triple {908#false} assume true; {908#false} is VALID [2018-11-23 12:06:08,254 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {908#false} {908#false} #53#return; {908#false} is VALID [2018-11-23 12:06:08,254 INFO L273 TraceCheckUtils]: 22: Hoare triple {908#false} havoc #t~mem4;havoc #t~mem3; {908#false} is VALID [2018-11-23 12:06:08,255 INFO L273 TraceCheckUtils]: 23: Hoare triple {908#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {908#false} is VALID [2018-11-23 12:06:08,255 INFO L273 TraceCheckUtils]: 24: Hoare triple {908#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {908#false} is VALID [2018-11-23 12:06:08,255 INFO L256 TraceCheckUtils]: 25: Hoare triple {908#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {908#false} is VALID [2018-11-23 12:06:08,255 INFO L273 TraceCheckUtils]: 26: Hoare triple {908#false} ~cond := #in~cond; {908#false} is VALID [2018-11-23 12:06:08,255 INFO L273 TraceCheckUtils]: 27: Hoare triple {908#false} assume 0 == ~cond; {908#false} is VALID [2018-11-23 12:06:08,256 INFO L273 TraceCheckUtils]: 28: Hoare triple {908#false} assume !false; {908#false} is VALID [2018-11-23 12:06:08,257 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:06:08,278 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:06:08,279 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-23 12:06:08,279 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 29 [2018-11-23 12:06:08,280 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:08,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:06:08,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:08,348 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:06:08,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:06:08,349 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:06:08,349 INFO L87 Difference]: Start difference. First operand 32 states and 33 transitions. Second operand 8 states. [2018-11-23 12:06:08,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:08,728 INFO L93 Difference]: Finished difference Result 52 states and 54 transitions. [2018-11-23 12:06:08,728 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:06:08,728 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 29 [2018-11-23 12:06:08,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:08,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:06:08,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2018-11-23 12:06:08,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:06:08,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2018-11-23 12:06:08,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 42 transitions. [2018-11-23 12:06:08,782 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:08,784 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:06:08,785 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 12:06:08,785 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:06:08,786 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 12:06:08,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2018-11-23 12:06:08,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:08,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 34 states. [2018-11-23 12:06:08,902 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 34 states. [2018-11-23 12:06:08,902 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 34 states. [2018-11-23 12:06:08,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:08,905 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2018-11-23 12:06:08,905 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-11-23 12:06:08,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:08,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:08,906 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 35 states. [2018-11-23 12:06:08,906 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 35 states. [2018-11-23 12:06:08,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:08,908 INFO L93 Difference]: Finished difference Result 35 states and 36 transitions. [2018-11-23 12:06:08,909 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 36 transitions. [2018-11-23 12:06:08,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:08,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:08,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:08,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:08,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 12:06:08,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 35 transitions. [2018-11-23 12:06:08,912 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 35 transitions. Word has length 29 [2018-11-23 12:06:08,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:08,912 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 35 transitions. [2018-11-23 12:06:08,912 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:06:08,912 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 35 transitions. [2018-11-23 12:06:08,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-23 12:06:08,913 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:08,914 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:08,914 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:08,914 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:08,914 INFO L82 PathProgramCache]: Analyzing trace with hash 1245795391, now seen corresponding path program 2 times [2018-11-23 12:06:08,914 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:08,915 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:08,915 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:08,916 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:06:08,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:08,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:09,092 INFO L256 TraceCheckUtils]: 0: Hoare triple {1195#true} call ULTIMATE.init(); {1195#true} is VALID [2018-11-23 12:06:09,093 INFO L273 TraceCheckUtils]: 1: Hoare triple {1195#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1195#true} is VALID [2018-11-23 12:06:09,093 INFO L273 TraceCheckUtils]: 2: Hoare triple {1195#true} assume true; {1195#true} is VALID [2018-11-23 12:06:09,094 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1195#true} {1195#true} #49#return; {1195#true} is VALID [2018-11-23 12:06:09,094 INFO L256 TraceCheckUtils]: 4: Hoare triple {1195#true} call #t~ret5 := main(); {1195#true} is VALID [2018-11-23 12:06:09,095 INFO L273 TraceCheckUtils]: 5: Hoare triple {1195#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1197#(= main_~i~0 0)} is VALID [2018-11-23 12:06:09,096 INFO L273 TraceCheckUtils]: 6: Hoare triple {1197#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1197#(= main_~i~0 0)} is VALID [2018-11-23 12:06:09,097 INFO L273 TraceCheckUtils]: 7: Hoare triple {1197#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1198#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:09,097 INFO L273 TraceCheckUtils]: 8: Hoare triple {1198#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1198#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:09,098 INFO L273 TraceCheckUtils]: 9: Hoare triple {1198#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1199#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:09,098 INFO L273 TraceCheckUtils]: 10: Hoare triple {1199#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1199#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:09,099 INFO L273 TraceCheckUtils]: 11: Hoare triple {1199#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1200#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:09,100 INFO L273 TraceCheckUtils]: 12: Hoare triple {1200#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1200#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:09,101 INFO L273 TraceCheckUtils]: 13: Hoare triple {1200#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1201#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:09,104 INFO L273 TraceCheckUtils]: 14: Hoare triple {1201#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1201#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:09,105 INFO L273 TraceCheckUtils]: 15: Hoare triple {1201#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1202#(<= main_~i~0 5)} is VALID [2018-11-23 12:06:09,106 INFO L273 TraceCheckUtils]: 16: Hoare triple {1202#(<= main_~i~0 5)} assume !(~i~0 < 100000); {1196#false} is VALID [2018-11-23 12:06:09,106 INFO L273 TraceCheckUtils]: 17: Hoare triple {1196#false} havoc ~x~0;~x~0 := 0; {1196#false} is VALID [2018-11-23 12:06:09,106 INFO L273 TraceCheckUtils]: 18: Hoare triple {1196#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1196#false} is VALID [2018-11-23 12:06:09,107 INFO L256 TraceCheckUtils]: 19: Hoare triple {1196#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1195#true} is VALID [2018-11-23 12:06:09,107 INFO L273 TraceCheckUtils]: 20: Hoare triple {1195#true} ~cond := #in~cond; {1195#true} is VALID [2018-11-23 12:06:09,107 INFO L273 TraceCheckUtils]: 21: Hoare triple {1195#true} assume !(0 == ~cond); {1195#true} is VALID [2018-11-23 12:06:09,108 INFO L273 TraceCheckUtils]: 22: Hoare triple {1195#true} assume true; {1195#true} is VALID [2018-11-23 12:06:09,108 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1195#true} {1196#false} #53#return; {1196#false} is VALID [2018-11-23 12:06:09,108 INFO L273 TraceCheckUtils]: 24: Hoare triple {1196#false} havoc #t~mem4;havoc #t~mem3; {1196#false} is VALID [2018-11-23 12:06:09,108 INFO L273 TraceCheckUtils]: 25: Hoare triple {1196#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1196#false} is VALID [2018-11-23 12:06:09,109 INFO L273 TraceCheckUtils]: 26: Hoare triple {1196#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1196#false} is VALID [2018-11-23 12:06:09,109 INFO L256 TraceCheckUtils]: 27: Hoare triple {1196#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1196#false} is VALID [2018-11-23 12:06:09,109 INFO L273 TraceCheckUtils]: 28: Hoare triple {1196#false} ~cond := #in~cond; {1196#false} is VALID [2018-11-23 12:06:09,109 INFO L273 TraceCheckUtils]: 29: Hoare triple {1196#false} assume 0 == ~cond; {1196#false} is VALID [2018-11-23 12:06:09,110 INFO L273 TraceCheckUtils]: 30: Hoare triple {1196#false} assume !false; {1196#false} is VALID [2018-11-23 12:06:09,111 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 25 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 12:06:09,112 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:09,112 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:09,148 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:06:09,177 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:06:09,177 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:06:09,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:09,191 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:09,319 INFO L256 TraceCheckUtils]: 0: Hoare triple {1195#true} call ULTIMATE.init(); {1195#true} is VALID [2018-11-23 12:06:09,319 INFO L273 TraceCheckUtils]: 1: Hoare triple {1195#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1195#true} is VALID [2018-11-23 12:06:09,320 INFO L273 TraceCheckUtils]: 2: Hoare triple {1195#true} assume true; {1195#true} is VALID [2018-11-23 12:06:09,320 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1195#true} {1195#true} #49#return; {1195#true} is VALID [2018-11-23 12:06:09,320 INFO L256 TraceCheckUtils]: 4: Hoare triple {1195#true} call #t~ret5 := main(); {1195#true} is VALID [2018-11-23 12:06:09,321 INFO L273 TraceCheckUtils]: 5: Hoare triple {1195#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1221#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:09,321 INFO L273 TraceCheckUtils]: 6: Hoare triple {1221#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1221#(<= main_~i~0 0)} is VALID [2018-11-23 12:06:09,322 INFO L273 TraceCheckUtils]: 7: Hoare triple {1221#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1198#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:09,322 INFO L273 TraceCheckUtils]: 8: Hoare triple {1198#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1198#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:09,329 INFO L273 TraceCheckUtils]: 9: Hoare triple {1198#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1199#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:09,330 INFO L273 TraceCheckUtils]: 10: Hoare triple {1199#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1199#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:09,331 INFO L273 TraceCheckUtils]: 11: Hoare triple {1199#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1200#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:09,331 INFO L273 TraceCheckUtils]: 12: Hoare triple {1200#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1200#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:09,331 INFO L273 TraceCheckUtils]: 13: Hoare triple {1200#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1201#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:09,338 INFO L273 TraceCheckUtils]: 14: Hoare triple {1201#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1201#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:09,339 INFO L273 TraceCheckUtils]: 15: Hoare triple {1201#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1202#(<= main_~i~0 5)} is VALID [2018-11-23 12:06:09,340 INFO L273 TraceCheckUtils]: 16: Hoare triple {1202#(<= main_~i~0 5)} assume !(~i~0 < 100000); {1196#false} is VALID [2018-11-23 12:06:09,340 INFO L273 TraceCheckUtils]: 17: Hoare triple {1196#false} havoc ~x~0;~x~0 := 0; {1196#false} is VALID [2018-11-23 12:06:09,340 INFO L273 TraceCheckUtils]: 18: Hoare triple {1196#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1196#false} is VALID [2018-11-23 12:06:09,340 INFO L256 TraceCheckUtils]: 19: Hoare triple {1196#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1196#false} is VALID [2018-11-23 12:06:09,340 INFO L273 TraceCheckUtils]: 20: Hoare triple {1196#false} ~cond := #in~cond; {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L273 TraceCheckUtils]: 21: Hoare triple {1196#false} assume !(0 == ~cond); {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L273 TraceCheckUtils]: 22: Hoare triple {1196#false} assume true; {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1196#false} {1196#false} #53#return; {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L273 TraceCheckUtils]: 24: Hoare triple {1196#false} havoc #t~mem4;havoc #t~mem3; {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L273 TraceCheckUtils]: 25: Hoare triple {1196#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L273 TraceCheckUtils]: 26: Hoare triple {1196#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1196#false} is VALID [2018-11-23 12:06:09,341 INFO L256 TraceCheckUtils]: 27: Hoare triple {1196#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1196#false} is VALID [2018-11-23 12:06:09,342 INFO L273 TraceCheckUtils]: 28: Hoare triple {1196#false} ~cond := #in~cond; {1196#false} is VALID [2018-11-23 12:06:09,342 INFO L273 TraceCheckUtils]: 29: Hoare triple {1196#false} assume 0 == ~cond; {1196#false} is VALID [2018-11-23 12:06:09,342 INFO L273 TraceCheckUtils]: 30: Hoare triple {1196#false} assume !false; {1196#false} is VALID [2018-11-23 12:06:09,343 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:06:09,362 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:06:09,362 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2018-11-23 12:06:09,363 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 31 [2018-11-23 12:06:09,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:09,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:06:09,402 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:09,402 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:06:09,403 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:06:09,403 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:06:09,403 INFO L87 Difference]: Start difference. First operand 34 states and 35 transitions. Second operand 9 states. [2018-11-23 12:06:09,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:09,729 INFO L93 Difference]: Finished difference Result 54 states and 56 transitions. [2018-11-23 12:06:09,729 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:06:09,729 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 31 [2018-11-23 12:06:09,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:06:09,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:06:09,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2018-11-23 12:06:09,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:06:09,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 44 transitions. [2018-11-23 12:06:09,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 44 transitions. [2018-11-23 12:06:09,857 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:09,859 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:06:09,859 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 12:06:09,860 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=36, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:06:09,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 12:06:09,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 36. [2018-11-23 12:06:09,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:06:09,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 36 states. [2018-11-23 12:06:09,981 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 36 states. [2018-11-23 12:06:09,981 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 36 states. [2018-11-23 12:06:09,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:09,983 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-23 12:06:09,983 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 12:06:09,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:09,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:09,984 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 37 states. [2018-11-23 12:06:09,984 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 37 states. [2018-11-23 12:06:09,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:06:09,986 INFO L93 Difference]: Finished difference Result 37 states and 38 transitions. [2018-11-23 12:06:09,986 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 38 transitions. [2018-11-23 12:06:09,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:06:09,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:06:09,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:06:09,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:06:09,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 12:06:09,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 37 transitions. [2018-11-23 12:06:09,989 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 37 transitions. Word has length 31 [2018-11-23 12:06:09,989 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:06:09,989 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 37 transitions. [2018-11-23 12:06:09,990 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:06:09,990 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 37 transitions. [2018-11-23 12:06:09,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 12:06:09,991 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:06:09,991 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:06:09,991 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:06:09,991 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:06:09,991 INFO L82 PathProgramCache]: Analyzing trace with hash 806844893, now seen corresponding path program 3 times [2018-11-23 12:06:09,992 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:06:09,992 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:06:09,993 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:09,993 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:06:09,993 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:06:10,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:10,182 INFO L256 TraceCheckUtils]: 0: Hoare triple {1500#true} call ULTIMATE.init(); {1500#true} is VALID [2018-11-23 12:06:10,183 INFO L273 TraceCheckUtils]: 1: Hoare triple {1500#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1500#true} is VALID [2018-11-23 12:06:10,183 INFO L273 TraceCheckUtils]: 2: Hoare triple {1500#true} assume true; {1500#true} is VALID [2018-11-23 12:06:10,183 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1500#true} {1500#true} #49#return; {1500#true} is VALID [2018-11-23 12:06:10,184 INFO L256 TraceCheckUtils]: 4: Hoare triple {1500#true} call #t~ret5 := main(); {1500#true} is VALID [2018-11-23 12:06:10,185 INFO L273 TraceCheckUtils]: 5: Hoare triple {1500#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1502#(= main_~i~0 0)} is VALID [2018-11-23 12:06:10,187 INFO L273 TraceCheckUtils]: 6: Hoare triple {1502#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1502#(= main_~i~0 0)} is VALID [2018-11-23 12:06:10,190 INFO L273 TraceCheckUtils]: 7: Hoare triple {1502#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1503#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:10,192 INFO L273 TraceCheckUtils]: 8: Hoare triple {1503#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1503#(<= main_~i~0 1)} is VALID [2018-11-23 12:06:10,192 INFO L273 TraceCheckUtils]: 9: Hoare triple {1503#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1504#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:10,194 INFO L273 TraceCheckUtils]: 10: Hoare triple {1504#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1504#(<= main_~i~0 2)} is VALID [2018-11-23 12:06:10,194 INFO L273 TraceCheckUtils]: 11: Hoare triple {1504#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1505#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:10,197 INFO L273 TraceCheckUtils]: 12: Hoare triple {1505#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1505#(<= main_~i~0 3)} is VALID [2018-11-23 12:06:10,197 INFO L273 TraceCheckUtils]: 13: Hoare triple {1505#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1506#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:10,204 INFO L273 TraceCheckUtils]: 14: Hoare triple {1506#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1506#(<= main_~i~0 4)} is VALID [2018-11-23 12:06:10,205 INFO L273 TraceCheckUtils]: 15: Hoare triple {1506#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1507#(<= main_~i~0 5)} is VALID [2018-11-23 12:06:10,209 INFO L273 TraceCheckUtils]: 16: Hoare triple {1507#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1507#(<= main_~i~0 5)} is VALID [2018-11-23 12:06:10,209 INFO L273 TraceCheckUtils]: 17: Hoare triple {1507#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1508#(<= main_~i~0 6)} is VALID [2018-11-23 12:06:10,210 INFO L273 TraceCheckUtils]: 18: Hoare triple {1508#(<= main_~i~0 6)} assume !(~i~0 < 100000); {1501#false} is VALID [2018-11-23 12:06:10,210 INFO L273 TraceCheckUtils]: 19: Hoare triple {1501#false} havoc ~x~0;~x~0 := 0; {1501#false} is VALID [2018-11-23 12:06:10,210 INFO L273 TraceCheckUtils]: 20: Hoare triple {1501#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1501#false} is VALID [2018-11-23 12:06:10,210 INFO L256 TraceCheckUtils]: 21: Hoare triple {1501#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1500#true} is VALID [2018-11-23 12:06:10,210 INFO L273 TraceCheckUtils]: 22: Hoare triple {1500#true} ~cond := #in~cond; {1500#true} is VALID [2018-11-23 12:06:10,210 INFO L273 TraceCheckUtils]: 23: Hoare triple {1500#true} assume !(0 == ~cond); {1500#true} is VALID [2018-11-23 12:06:10,211 INFO L273 TraceCheckUtils]: 24: Hoare triple {1500#true} assume true; {1500#true} is VALID [2018-11-23 12:06:10,211 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1500#true} {1501#false} #53#return; {1501#false} is VALID [2018-11-23 12:06:10,211 INFO L273 TraceCheckUtils]: 26: Hoare triple {1501#false} havoc #t~mem4;havoc #t~mem3; {1501#false} is VALID [2018-11-23 12:06:10,211 INFO L273 TraceCheckUtils]: 27: Hoare triple {1501#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1501#false} is VALID [2018-11-23 12:06:10,211 INFO L273 TraceCheckUtils]: 28: Hoare triple {1501#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1501#false} is VALID [2018-11-23 12:06:10,211 INFO L256 TraceCheckUtils]: 29: Hoare triple {1501#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1501#false} is VALID [2018-11-23 12:06:10,212 INFO L273 TraceCheckUtils]: 30: Hoare triple {1501#false} ~cond := #in~cond; {1501#false} is VALID [2018-11-23 12:06:10,212 INFO L273 TraceCheckUtils]: 31: Hoare triple {1501#false} assume 0 == ~cond; {1501#false} is VALID [2018-11-23 12:06:10,212 INFO L273 TraceCheckUtils]: 32: Hoare triple {1501#false} assume !false; {1501#false} is VALID [2018-11-23 12:06:10,213 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 2 proven. 36 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 12:06:10,213 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:06:10,213 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:06:10,230 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:06:10,252 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:06:10,252 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:06:10,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:06:10,270 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:06:10,322 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 12:06:10,324 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,330 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,330 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:18, output treesize:14 [2018-11-23 12:06:10,396 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-11-23 12:06:10,400 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2018-11-23 12:06:10,402 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,409 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,484 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,485 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:06:10,566 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 45 [2018-11-23 12:06:10,572 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:06:10,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 55 [2018-11-23 12:06:10,577 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,586 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,604 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:10,604 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:59, output treesize:55 [2018-11-23 12:06:12,865 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (let ((.cse0 (select |c_#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|)) (.cse1 (* 4 v_main_~i~0_22)) (.cse2 (select |c_#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|)) (.cse3 (* (- 4) v_main_~i~0_22))) (and (= (select .cse0 (+ .cse1 (- 4))) (select .cse2 (+ .cse3 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select .cse0 .cse1) (select .cse2 (+ .cse3 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22)))) is different from true [2018-11-23 12:06:14,955 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 33 [2018-11-23 12:06:17,091 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 12:06:17,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 43 [2018-11-23 12:06:17,418 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:06:17,418 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:06:17,422 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 29 [2018-11-23 12:06:17,426 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:17,441 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:06:17,442 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:06:17,443 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:06:17,447 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:17,466 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:06:17,466 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:61, output treesize:3 [2018-11-23 12:06:17,468 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:06:17,468 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#b~0.base|, v_main_~i~0_22, |main_~#a~0.base|]. (let ((.cse1 (* 4 v_main_~i~0_22)) (.cse3 (* (- 4) v_main_~i~0_22)) (.cse0 (select |#memory_int| |main_~#b~0.base|)) (.cse2 (select |#memory_int| |main_~#a~0.base|))) (and (= (select .cse0 (+ .cse1 (- 4))) (select .cse2 (+ .cse3 400000))) (< v_main_~i~0_22 100000) (= (select .cse0 .cse1) (select .cse2 (+ .cse3 399996))) (<= 99999 v_main_~i~0_22) (= |main_#t~mem4| (select .cse0 399992)) (= (select .cse2 4) |main_#t~mem3|) (not (= |main_~#b~0.base| |main_~#a~0.base|)))) [2018-11-23 12:06:17,469 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem4| |main_#t~mem3|) [2018-11-23 12:06:19,523 INFO L256 TraceCheckUtils]: 0: Hoare triple {1500#true} call ULTIMATE.init(); {1500#true} is VALID [2018-11-23 12:06:19,523 INFO L273 TraceCheckUtils]: 1: Hoare triple {1500#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1500#true} is VALID [2018-11-23 12:06:19,524 INFO L273 TraceCheckUtils]: 2: Hoare triple {1500#true} assume true; {1500#true} is VALID [2018-11-23 12:06:19,524 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1500#true} {1500#true} #49#return; {1500#true} is VALID [2018-11-23 12:06:19,524 INFO L256 TraceCheckUtils]: 4: Hoare triple {1500#true} call #t~ret5 := main(); {1500#true} is VALID [2018-11-23 12:06:19,531 INFO L273 TraceCheckUtils]: 5: Hoare triple {1500#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1527#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,531 INFO L273 TraceCheckUtils]: 6: Hoare triple {1527#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1527#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,532 INFO L273 TraceCheckUtils]: 7: Hoare triple {1527#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,532 INFO L273 TraceCheckUtils]: 8: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,533 INFO L273 TraceCheckUtils]: 9: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,533 INFO L273 TraceCheckUtils]: 10: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,534 INFO L273 TraceCheckUtils]: 11: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,534 INFO L273 TraceCheckUtils]: 12: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,535 INFO L273 TraceCheckUtils]: 13: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,536 INFO L273 TraceCheckUtils]: 14: Hoare triple {1534#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1556#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,538 INFO L273 TraceCheckUtils]: 15: Hoare triple {1556#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1560#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,539 INFO L273 TraceCheckUtils]: 16: Hoare triple {1560#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1564#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,541 INFO L273 TraceCheckUtils]: 17: Hoare triple {1564#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1568#(and (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= main_~i~0 (+ v_main_~i~0_22 1)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,543 INFO L273 TraceCheckUtils]: 18: Hoare triple {1568#(and (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= main_~i~0 (+ v_main_~i~0_22 1)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < 100000); {1572#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,545 INFO L273 TraceCheckUtils]: 19: Hoare triple {1572#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc ~x~0;~x~0 := 0; {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,547 INFO L273 TraceCheckUtils]: 20: Hoare triple {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,549 INFO L256 TraceCheckUtils]: 21: Hoare triple {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1583#(exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22)))} is VALID [2018-11-23 12:06:19,550 INFO L273 TraceCheckUtils]: 22: Hoare triple {1583#(exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22)))} ~cond := #in~cond; {1587#(and (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:06:19,551 INFO L273 TraceCheckUtils]: 23: Hoare triple {1587#(and (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1591#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))))} is VALID [2018-11-23 12:06:19,551 INFO L273 TraceCheckUtils]: 24: Hoare triple {1591#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))))} assume true; {1591#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))))} is VALID [2018-11-23 12:06:19,552 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1591#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#b~0.base_BEFORE_CALL_1| Int) (v_main_~i~0_22 Int) (|v_main_~#a~0.base_BEFORE_CALL_1| Int)) (and (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (+ (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 400000))) (not (= |v_main_~#b~0.base_BEFORE_CALL_1| |v_main_~#a~0.base_BEFORE_CALL_1|)) (= (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_1|) (* 4 v_main_~i~0_22)) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (+ (* (- 4) v_main_~i~0_22) 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))))} {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #53#return; {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,554 INFO L273 TraceCheckUtils]: 26: Hoare triple {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc #t~mem4;havoc #t~mem3; {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,555 INFO L273 TraceCheckUtils]: 27: Hoare triple {1576#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1604#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:06:19,557 INFO L273 TraceCheckUtils]: 28: Hoare triple {1604#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_22 Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 400000))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 v_main_~i~0_22))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_22) |main_~#a~0.offset| 399996))) (< v_main_~i~0_22 100000) (<= 99999 v_main_~i~0_22))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1608#(= |main_#t~mem4| |main_#t~mem3|)} is VALID [2018-11-23 12:06:19,558 INFO L256 TraceCheckUtils]: 29: Hoare triple {1608#(= |main_#t~mem4| |main_#t~mem3|)} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1612#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:06:19,559 INFO L273 TraceCheckUtils]: 30: Hoare triple {1612#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1616#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:06:19,559 INFO L273 TraceCheckUtils]: 31: Hoare triple {1616#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1501#false} is VALID [2018-11-23 12:06:19,559 INFO L273 TraceCheckUtils]: 32: Hoare triple {1501#false} assume !false; {1501#false} is VALID [2018-11-23 12:06:19,568 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 15 proven. 15 refuted. 0 times theorem prover too weak. 9 trivial. 1 not checked. [2018-11-23 12:06:19,589 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:06:19,589 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 17] total 24 [2018-11-23 12:06:19,590 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 33 [2018-11-23 12:06:19,590 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:06:19,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:06:19,660 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:06:19,661 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:06:19,661 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:06:19,661 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=422, Unknown=2, NotChecked=42, Total=552 [2018-11-23 12:06:19,662 INFO L87 Difference]: Start difference. First operand 36 states and 37 transitions. Second operand 24 states. [2018-11-23 12:06:38,941 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 32 [2018-11-23 12:07:06,348 WARN L180 SmtUtils]: Spent 4.02 s on a formula simplification. DAG size of input: 36 DAG size of output: 33 [2018-11-23 12:07:10,478 WARN L180 SmtUtils]: Spent 4.04 s on a formula simplification. DAG size of input: 39 DAG size of output: 35 [2018-11-23 12:07:25,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:25,924 INFO L93 Difference]: Finished difference Result 66 states and 69 transitions. [2018-11-23 12:07:25,924 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:07:25,924 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 33 [2018-11-23 12:07:25,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:25,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:07:25,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 60 transitions. [2018-11-23 12:07:25,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:07:25,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 60 transitions. [2018-11-23 12:07:25,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 60 transitions. [2018-11-23 12:07:26,173 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:26,175 INFO L225 Difference]: With dead ends: 66 [2018-11-23 12:07:26,175 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 12:07:26,176 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 19 SyntacticMatches, 1 SemanticMatches, 43 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 453 ImplicationChecksByTransitivity, 20.4s TimeCoverageRelationStatistics Valid=332, Invalid=1561, Unknown=3, NotChecked=84, Total=1980 [2018-11-23 12:07:26,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 12:07:26,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 46. [2018-11-23 12:07:26,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:26,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 46 states. [2018-11-23 12:07:26,765 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 46 states. [2018-11-23 12:07:26,765 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 46 states. [2018-11-23 12:07:26,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:26,767 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 12:07:26,767 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 12:07:26,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:26,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:26,768 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 49 states. [2018-11-23 12:07:26,768 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 49 states. [2018-11-23 12:07:26,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:26,770 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 12:07:26,770 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 12:07:26,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:26,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:26,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:26,771 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:26,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 12:07:26,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 47 transitions. [2018-11-23 12:07:26,773 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 47 transitions. Word has length 33 [2018-11-23 12:07:26,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:26,774 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 47 transitions. [2018-11-23 12:07:26,774 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:07:26,774 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 47 transitions. [2018-11-23 12:07:26,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2018-11-23 12:07:26,775 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:26,775 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:26,775 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:26,776 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:26,776 INFO L82 PathProgramCache]: Analyzing trace with hash -421015758, now seen corresponding path program 4 times [2018-11-23 12:07:26,776 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:26,776 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:26,777 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:26,777 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:07:26,777 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:26,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:26,970 INFO L256 TraceCheckUtils]: 0: Hoare triple {1923#true} call ULTIMATE.init(); {1923#true} is VALID [2018-11-23 12:07:26,971 INFO L273 TraceCheckUtils]: 1: Hoare triple {1923#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1923#true} is VALID [2018-11-23 12:07:26,971 INFO L273 TraceCheckUtils]: 2: Hoare triple {1923#true} assume true; {1923#true} is VALID [2018-11-23 12:07:26,971 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1923#true} {1923#true} #49#return; {1923#true} is VALID [2018-11-23 12:07:26,972 INFO L256 TraceCheckUtils]: 4: Hoare triple {1923#true} call #t~ret5 := main(); {1923#true} is VALID [2018-11-23 12:07:26,972 INFO L273 TraceCheckUtils]: 5: Hoare triple {1923#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1925#(= main_~i~0 0)} is VALID [2018-11-23 12:07:26,973 INFO L273 TraceCheckUtils]: 6: Hoare triple {1925#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1925#(= main_~i~0 0)} is VALID [2018-11-23 12:07:26,973 INFO L273 TraceCheckUtils]: 7: Hoare triple {1925#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1926#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:26,973 INFO L273 TraceCheckUtils]: 8: Hoare triple {1926#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1926#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:26,974 INFO L273 TraceCheckUtils]: 9: Hoare triple {1926#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1927#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:26,974 INFO L273 TraceCheckUtils]: 10: Hoare triple {1927#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1927#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:26,975 INFO L273 TraceCheckUtils]: 11: Hoare triple {1927#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1928#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:26,976 INFO L273 TraceCheckUtils]: 12: Hoare triple {1928#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1928#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:26,978 INFO L273 TraceCheckUtils]: 13: Hoare triple {1928#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1929#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:26,979 INFO L273 TraceCheckUtils]: 14: Hoare triple {1929#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1929#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:26,979 INFO L273 TraceCheckUtils]: 15: Hoare triple {1929#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1930#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:26,980 INFO L273 TraceCheckUtils]: 16: Hoare triple {1930#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1930#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:26,980 INFO L273 TraceCheckUtils]: 17: Hoare triple {1930#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1931#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:26,980 INFO L273 TraceCheckUtils]: 18: Hoare triple {1931#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1931#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:26,981 INFO L273 TraceCheckUtils]: 19: Hoare triple {1931#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1932#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:26,981 INFO L273 TraceCheckUtils]: 20: Hoare triple {1932#(<= main_~i~0 7)} assume !(~i~0 < 100000); {1924#false} is VALID [2018-11-23 12:07:26,982 INFO L273 TraceCheckUtils]: 21: Hoare triple {1924#false} havoc ~x~0;~x~0 := 0; {1924#false} is VALID [2018-11-23 12:07:26,982 INFO L273 TraceCheckUtils]: 22: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:26,982 INFO L256 TraceCheckUtils]: 23: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1923#true} is VALID [2018-11-23 12:07:26,982 INFO L273 TraceCheckUtils]: 24: Hoare triple {1923#true} ~cond := #in~cond; {1923#true} is VALID [2018-11-23 12:07:26,982 INFO L273 TraceCheckUtils]: 25: Hoare triple {1923#true} assume !(0 == ~cond); {1923#true} is VALID [2018-11-23 12:07:26,982 INFO L273 TraceCheckUtils]: 26: Hoare triple {1923#true} assume true; {1923#true} is VALID [2018-11-23 12:07:26,982 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1923#true} {1924#false} #53#return; {1924#false} is VALID [2018-11-23 12:07:26,983 INFO L273 TraceCheckUtils]: 28: Hoare triple {1924#false} havoc #t~mem4;havoc #t~mem3; {1924#false} is VALID [2018-11-23 12:07:26,983 INFO L273 TraceCheckUtils]: 29: Hoare triple {1924#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1924#false} is VALID [2018-11-23 12:07:26,983 INFO L273 TraceCheckUtils]: 30: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:26,983 INFO L256 TraceCheckUtils]: 31: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1923#true} is VALID [2018-11-23 12:07:26,983 INFO L273 TraceCheckUtils]: 32: Hoare triple {1923#true} ~cond := #in~cond; {1923#true} is VALID [2018-11-23 12:07:26,983 INFO L273 TraceCheckUtils]: 33: Hoare triple {1923#true} assume !(0 == ~cond); {1923#true} is VALID [2018-11-23 12:07:26,984 INFO L273 TraceCheckUtils]: 34: Hoare triple {1923#true} assume true; {1923#true} is VALID [2018-11-23 12:07:26,984 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1923#true} {1924#false} #53#return; {1924#false} is VALID [2018-11-23 12:07:26,984 INFO L273 TraceCheckUtils]: 36: Hoare triple {1924#false} havoc #t~mem4;havoc #t~mem3; {1924#false} is VALID [2018-11-23 12:07:26,984 INFO L273 TraceCheckUtils]: 37: Hoare triple {1924#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1924#false} is VALID [2018-11-23 12:07:26,984 INFO L273 TraceCheckUtils]: 38: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:26,985 INFO L256 TraceCheckUtils]: 39: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1924#false} is VALID [2018-11-23 12:07:26,985 INFO L273 TraceCheckUtils]: 40: Hoare triple {1924#false} ~cond := #in~cond; {1924#false} is VALID [2018-11-23 12:07:26,985 INFO L273 TraceCheckUtils]: 41: Hoare triple {1924#false} assume 0 == ~cond; {1924#false} is VALID [2018-11-23 12:07:26,985 INFO L273 TraceCheckUtils]: 42: Hoare triple {1924#false} assume !false; {1924#false} is VALID [2018-11-23 12:07:26,987 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 4 proven. 49 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:26,987 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:26,987 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:27,000 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:07:27,045 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:07:27,045 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:07:27,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:27,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:27,432 INFO L256 TraceCheckUtils]: 0: Hoare triple {1923#true} call ULTIMATE.init(); {1923#true} is VALID [2018-11-23 12:07:27,433 INFO L273 TraceCheckUtils]: 1: Hoare triple {1923#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1923#true} is VALID [2018-11-23 12:07:27,433 INFO L273 TraceCheckUtils]: 2: Hoare triple {1923#true} assume true; {1923#true} is VALID [2018-11-23 12:07:27,433 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1923#true} {1923#true} #49#return; {1923#true} is VALID [2018-11-23 12:07:27,433 INFO L256 TraceCheckUtils]: 4: Hoare triple {1923#true} call #t~ret5 := main(); {1923#true} is VALID [2018-11-23 12:07:27,434 INFO L273 TraceCheckUtils]: 5: Hoare triple {1923#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {1951#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:27,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {1951#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1951#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:27,435 INFO L273 TraceCheckUtils]: 7: Hoare triple {1951#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1926#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:27,435 INFO L273 TraceCheckUtils]: 8: Hoare triple {1926#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1926#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:27,436 INFO L273 TraceCheckUtils]: 9: Hoare triple {1926#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1927#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:27,436 INFO L273 TraceCheckUtils]: 10: Hoare triple {1927#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1927#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:27,437 INFO L273 TraceCheckUtils]: 11: Hoare triple {1927#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1928#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:27,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {1928#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1928#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:27,438 INFO L273 TraceCheckUtils]: 13: Hoare triple {1928#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1929#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:27,438 INFO L273 TraceCheckUtils]: 14: Hoare triple {1929#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1929#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:27,439 INFO L273 TraceCheckUtils]: 15: Hoare triple {1929#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1930#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:27,440 INFO L273 TraceCheckUtils]: 16: Hoare triple {1930#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1930#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:27,441 INFO L273 TraceCheckUtils]: 17: Hoare triple {1930#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1931#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:27,441 INFO L273 TraceCheckUtils]: 18: Hoare triple {1931#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {1931#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:27,442 INFO L273 TraceCheckUtils]: 19: Hoare triple {1931#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1932#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:27,445 INFO L273 TraceCheckUtils]: 20: Hoare triple {1932#(<= main_~i~0 7)} assume !(~i~0 < 100000); {1924#false} is VALID [2018-11-23 12:07:27,445 INFO L273 TraceCheckUtils]: 21: Hoare triple {1924#false} havoc ~x~0;~x~0 := 0; {1924#false} is VALID [2018-11-23 12:07:27,445 INFO L273 TraceCheckUtils]: 22: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L256 TraceCheckUtils]: 23: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L273 TraceCheckUtils]: 24: Hoare triple {1924#false} ~cond := #in~cond; {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L273 TraceCheckUtils]: 25: Hoare triple {1924#false} assume !(0 == ~cond); {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L273 TraceCheckUtils]: 26: Hoare triple {1924#false} assume true; {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1924#false} {1924#false} #53#return; {1924#false} is VALID [2018-11-23 12:07:27,446 INFO L273 TraceCheckUtils]: 28: Hoare triple {1924#false} havoc #t~mem4;havoc #t~mem3; {1924#false} is VALID [2018-11-23 12:07:27,447 INFO L273 TraceCheckUtils]: 29: Hoare triple {1924#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1924#false} is VALID [2018-11-23 12:07:27,447 INFO L273 TraceCheckUtils]: 30: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:27,447 INFO L256 TraceCheckUtils]: 31: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1924#false} is VALID [2018-11-23 12:07:27,447 INFO L273 TraceCheckUtils]: 32: Hoare triple {1924#false} ~cond := #in~cond; {1924#false} is VALID [2018-11-23 12:07:27,447 INFO L273 TraceCheckUtils]: 33: Hoare triple {1924#false} assume !(0 == ~cond); {1924#false} is VALID [2018-11-23 12:07:27,448 INFO L273 TraceCheckUtils]: 34: Hoare triple {1924#false} assume true; {1924#false} is VALID [2018-11-23 12:07:27,448 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1924#false} {1924#false} #53#return; {1924#false} is VALID [2018-11-23 12:07:27,448 INFO L273 TraceCheckUtils]: 36: Hoare triple {1924#false} havoc #t~mem4;havoc #t~mem3; {1924#false} is VALID [2018-11-23 12:07:27,448 INFO L273 TraceCheckUtils]: 37: Hoare triple {1924#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1924#false} is VALID [2018-11-23 12:07:27,448 INFO L273 TraceCheckUtils]: 38: Hoare triple {1924#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {1924#false} is VALID [2018-11-23 12:07:27,449 INFO L256 TraceCheckUtils]: 39: Hoare triple {1924#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {1924#false} is VALID [2018-11-23 12:07:27,449 INFO L273 TraceCheckUtils]: 40: Hoare triple {1924#false} ~cond := #in~cond; {1924#false} is VALID [2018-11-23 12:07:27,449 INFO L273 TraceCheckUtils]: 41: Hoare triple {1924#false} assume 0 == ~cond; {1924#false} is VALID [2018-11-23 12:07:27,449 INFO L273 TraceCheckUtils]: 42: Hoare triple {1924#false} assume !false; {1924#false} is VALID [2018-11-23 12:07:27,450 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 12:07:27,469 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:27,469 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 12:07:27,469 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 43 [2018-11-23 12:07:27,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:27,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:07:27,504 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:27,504 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:07:27,504 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:07:27,505 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:07:27,505 INFO L87 Difference]: Start difference. First operand 46 states and 47 transitions. Second operand 11 states. [2018-11-23 12:07:28,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:28,204 INFO L93 Difference]: Finished difference Result 74 states and 76 transitions. [2018-11-23 12:07:28,204 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:07:28,204 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 43 [2018-11-23 12:07:28,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:28,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:07:28,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2018-11-23 12:07:28,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:07:28,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2018-11-23 12:07:28,209 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 48 transitions. [2018-11-23 12:07:28,254 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:28,256 INFO L225 Difference]: With dead ends: 74 [2018-11-23 12:07:28,256 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 12:07:28,258 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:07:28,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 12:07:28,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 48. [2018-11-23 12:07:28,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:28,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 48 states. [2018-11-23 12:07:28,436 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 48 states. [2018-11-23 12:07:28,436 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 48 states. [2018-11-23 12:07:28,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:28,439 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 12:07:28,439 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 12:07:28,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:28,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:28,439 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 49 states. [2018-11-23 12:07:28,440 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 49 states. [2018-11-23 12:07:28,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:28,442 INFO L93 Difference]: Finished difference Result 49 states and 50 transitions. [2018-11-23 12:07:28,442 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 50 transitions. [2018-11-23 12:07:28,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:28,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:28,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:28,443 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:28,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 12:07:28,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 49 transitions. [2018-11-23 12:07:28,445 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 49 transitions. Word has length 43 [2018-11-23 12:07:28,445 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:28,445 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 49 transitions. [2018-11-23 12:07:28,445 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:07:28,445 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 49 transitions. [2018-11-23 12:07:28,446 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2018-11-23 12:07:28,446 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:28,446 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:28,446 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:28,447 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:28,447 INFO L82 PathProgramCache]: Analyzing trace with hash -527665200, now seen corresponding path program 5 times [2018-11-23 12:07:28,447 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:28,447 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:28,448 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:28,448 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:07:28,448 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:28,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:28,599 INFO L256 TraceCheckUtils]: 0: Hoare triple {2335#true} call ULTIMATE.init(); {2335#true} is VALID [2018-11-23 12:07:28,599 INFO L273 TraceCheckUtils]: 1: Hoare triple {2335#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2335#true} is VALID [2018-11-23 12:07:28,600 INFO L273 TraceCheckUtils]: 2: Hoare triple {2335#true} assume true; {2335#true} is VALID [2018-11-23 12:07:28,600 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2335#true} {2335#true} #49#return; {2335#true} is VALID [2018-11-23 12:07:28,600 INFO L256 TraceCheckUtils]: 4: Hoare triple {2335#true} call #t~ret5 := main(); {2335#true} is VALID [2018-11-23 12:07:28,601 INFO L273 TraceCheckUtils]: 5: Hoare triple {2335#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {2337#(= main_~i~0 0)} is VALID [2018-11-23 12:07:28,601 INFO L273 TraceCheckUtils]: 6: Hoare triple {2337#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2337#(= main_~i~0 0)} is VALID [2018-11-23 12:07:28,602 INFO L273 TraceCheckUtils]: 7: Hoare triple {2337#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2338#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:28,602 INFO L273 TraceCheckUtils]: 8: Hoare triple {2338#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2338#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:28,602 INFO L273 TraceCheckUtils]: 9: Hoare triple {2338#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2339#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:28,603 INFO L273 TraceCheckUtils]: 10: Hoare triple {2339#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2339#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:28,603 INFO L273 TraceCheckUtils]: 11: Hoare triple {2339#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2340#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:28,604 INFO L273 TraceCheckUtils]: 12: Hoare triple {2340#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2340#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:28,605 INFO L273 TraceCheckUtils]: 13: Hoare triple {2340#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2341#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:28,605 INFO L273 TraceCheckUtils]: 14: Hoare triple {2341#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2341#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:28,606 INFO L273 TraceCheckUtils]: 15: Hoare triple {2341#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2342#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:28,606 INFO L273 TraceCheckUtils]: 16: Hoare triple {2342#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2342#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:28,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {2342#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2343#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:28,608 INFO L273 TraceCheckUtils]: 18: Hoare triple {2343#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2343#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:28,608 INFO L273 TraceCheckUtils]: 19: Hoare triple {2343#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2344#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:28,609 INFO L273 TraceCheckUtils]: 20: Hoare triple {2344#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2344#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:28,610 INFO L273 TraceCheckUtils]: 21: Hoare triple {2344#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2345#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:28,610 INFO L273 TraceCheckUtils]: 22: Hoare triple {2345#(<= main_~i~0 8)} assume !(~i~0 < 100000); {2336#false} is VALID [2018-11-23 12:07:28,611 INFO L273 TraceCheckUtils]: 23: Hoare triple {2336#false} havoc ~x~0;~x~0 := 0; {2336#false} is VALID [2018-11-23 12:07:28,611 INFO L273 TraceCheckUtils]: 24: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,611 INFO L256 TraceCheckUtils]: 25: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2335#true} is VALID [2018-11-23 12:07:28,611 INFO L273 TraceCheckUtils]: 26: Hoare triple {2335#true} ~cond := #in~cond; {2335#true} is VALID [2018-11-23 12:07:28,612 INFO L273 TraceCheckUtils]: 27: Hoare triple {2335#true} assume !(0 == ~cond); {2335#true} is VALID [2018-11-23 12:07:28,612 INFO L273 TraceCheckUtils]: 28: Hoare triple {2335#true} assume true; {2335#true} is VALID [2018-11-23 12:07:28,612 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2335#true} {2336#false} #53#return; {2336#false} is VALID [2018-11-23 12:07:28,612 INFO L273 TraceCheckUtils]: 30: Hoare triple {2336#false} havoc #t~mem4;havoc #t~mem3; {2336#false} is VALID [2018-11-23 12:07:28,613 INFO L273 TraceCheckUtils]: 31: Hoare triple {2336#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2336#false} is VALID [2018-11-23 12:07:28,613 INFO L273 TraceCheckUtils]: 32: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,613 INFO L256 TraceCheckUtils]: 33: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2335#true} is VALID [2018-11-23 12:07:28,614 INFO L273 TraceCheckUtils]: 34: Hoare triple {2335#true} ~cond := #in~cond; {2335#true} is VALID [2018-11-23 12:07:28,614 INFO L273 TraceCheckUtils]: 35: Hoare triple {2335#true} assume !(0 == ~cond); {2335#true} is VALID [2018-11-23 12:07:28,614 INFO L273 TraceCheckUtils]: 36: Hoare triple {2335#true} assume true; {2335#true} is VALID [2018-11-23 12:07:28,614 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2335#true} {2336#false} #53#return; {2336#false} is VALID [2018-11-23 12:07:28,615 INFO L273 TraceCheckUtils]: 38: Hoare triple {2336#false} havoc #t~mem4;havoc #t~mem3; {2336#false} is VALID [2018-11-23 12:07:28,615 INFO L273 TraceCheckUtils]: 39: Hoare triple {2336#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2336#false} is VALID [2018-11-23 12:07:28,615 INFO L273 TraceCheckUtils]: 40: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,615 INFO L256 TraceCheckUtils]: 41: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2336#false} is VALID [2018-11-23 12:07:28,615 INFO L273 TraceCheckUtils]: 42: Hoare triple {2336#false} ~cond := #in~cond; {2336#false} is VALID [2018-11-23 12:07:28,616 INFO L273 TraceCheckUtils]: 43: Hoare triple {2336#false} assume 0 == ~cond; {2336#false} is VALID [2018-11-23 12:07:28,616 INFO L273 TraceCheckUtils]: 44: Hoare triple {2336#false} assume !false; {2336#false} is VALID [2018-11-23 12:07:28,617 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 4 proven. 64 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:28,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:28,618 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:28,638 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:07:28,712 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2018-11-23 12:07:28,713 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:07:28,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:28,735 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:28,860 INFO L256 TraceCheckUtils]: 0: Hoare triple {2335#true} call ULTIMATE.init(); {2335#true} is VALID [2018-11-23 12:07:28,860 INFO L273 TraceCheckUtils]: 1: Hoare triple {2335#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2335#true} is VALID [2018-11-23 12:07:28,861 INFO L273 TraceCheckUtils]: 2: Hoare triple {2335#true} assume true; {2335#true} is VALID [2018-11-23 12:07:28,861 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2335#true} {2335#true} #49#return; {2335#true} is VALID [2018-11-23 12:07:28,861 INFO L256 TraceCheckUtils]: 4: Hoare triple {2335#true} call #t~ret5 := main(); {2335#true} is VALID [2018-11-23 12:07:28,862 INFO L273 TraceCheckUtils]: 5: Hoare triple {2335#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {2364#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:28,863 INFO L273 TraceCheckUtils]: 6: Hoare triple {2364#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2364#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:28,863 INFO L273 TraceCheckUtils]: 7: Hoare triple {2364#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2338#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:28,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {2338#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2338#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:28,864 INFO L273 TraceCheckUtils]: 9: Hoare triple {2338#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2339#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:28,864 INFO L273 TraceCheckUtils]: 10: Hoare triple {2339#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2339#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:28,865 INFO L273 TraceCheckUtils]: 11: Hoare triple {2339#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2340#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:28,865 INFO L273 TraceCheckUtils]: 12: Hoare triple {2340#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2340#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:28,866 INFO L273 TraceCheckUtils]: 13: Hoare triple {2340#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2341#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:28,866 INFO L273 TraceCheckUtils]: 14: Hoare triple {2341#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2341#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:28,867 INFO L273 TraceCheckUtils]: 15: Hoare triple {2341#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2342#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:28,868 INFO L273 TraceCheckUtils]: 16: Hoare triple {2342#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2342#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:28,868 INFO L273 TraceCheckUtils]: 17: Hoare triple {2342#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2343#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:28,869 INFO L273 TraceCheckUtils]: 18: Hoare triple {2343#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2343#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:28,870 INFO L273 TraceCheckUtils]: 19: Hoare triple {2343#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2344#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:28,870 INFO L273 TraceCheckUtils]: 20: Hoare triple {2344#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2344#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:28,871 INFO L273 TraceCheckUtils]: 21: Hoare triple {2344#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2345#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:28,872 INFO L273 TraceCheckUtils]: 22: Hoare triple {2345#(<= main_~i~0 8)} assume !(~i~0 < 100000); {2336#false} is VALID [2018-11-23 12:07:28,872 INFO L273 TraceCheckUtils]: 23: Hoare triple {2336#false} havoc ~x~0;~x~0 := 0; {2336#false} is VALID [2018-11-23 12:07:28,872 INFO L273 TraceCheckUtils]: 24: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,872 INFO L256 TraceCheckUtils]: 25: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2336#false} is VALID [2018-11-23 12:07:28,873 INFO L273 TraceCheckUtils]: 26: Hoare triple {2336#false} ~cond := #in~cond; {2336#false} is VALID [2018-11-23 12:07:28,873 INFO L273 TraceCheckUtils]: 27: Hoare triple {2336#false} assume !(0 == ~cond); {2336#false} is VALID [2018-11-23 12:07:28,873 INFO L273 TraceCheckUtils]: 28: Hoare triple {2336#false} assume true; {2336#false} is VALID [2018-11-23 12:07:28,873 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {2336#false} {2336#false} #53#return; {2336#false} is VALID [2018-11-23 12:07:28,873 INFO L273 TraceCheckUtils]: 30: Hoare triple {2336#false} havoc #t~mem4;havoc #t~mem3; {2336#false} is VALID [2018-11-23 12:07:28,874 INFO L273 TraceCheckUtils]: 31: Hoare triple {2336#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2336#false} is VALID [2018-11-23 12:07:28,874 INFO L273 TraceCheckUtils]: 32: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,874 INFO L256 TraceCheckUtils]: 33: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2336#false} is VALID [2018-11-23 12:07:28,874 INFO L273 TraceCheckUtils]: 34: Hoare triple {2336#false} ~cond := #in~cond; {2336#false} is VALID [2018-11-23 12:07:28,875 INFO L273 TraceCheckUtils]: 35: Hoare triple {2336#false} assume !(0 == ~cond); {2336#false} is VALID [2018-11-23 12:07:28,875 INFO L273 TraceCheckUtils]: 36: Hoare triple {2336#false} assume true; {2336#false} is VALID [2018-11-23 12:07:28,875 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2336#false} {2336#false} #53#return; {2336#false} is VALID [2018-11-23 12:07:28,875 INFO L273 TraceCheckUtils]: 38: Hoare triple {2336#false} havoc #t~mem4;havoc #t~mem3; {2336#false} is VALID [2018-11-23 12:07:28,875 INFO L273 TraceCheckUtils]: 39: Hoare triple {2336#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2336#false} is VALID [2018-11-23 12:07:28,876 INFO L273 TraceCheckUtils]: 40: Hoare triple {2336#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2336#false} is VALID [2018-11-23 12:07:28,876 INFO L256 TraceCheckUtils]: 41: Hoare triple {2336#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2336#false} is VALID [2018-11-23 12:07:28,876 INFO L273 TraceCheckUtils]: 42: Hoare triple {2336#false} ~cond := #in~cond; {2336#false} is VALID [2018-11-23 12:07:28,876 INFO L273 TraceCheckUtils]: 43: Hoare triple {2336#false} assume 0 == ~cond; {2336#false} is VALID [2018-11-23 12:07:28,876 INFO L273 TraceCheckUtils]: 44: Hoare triple {2336#false} assume !false; {2336#false} is VALID [2018-11-23 12:07:28,878 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 12:07:28,897 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:28,897 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 12:07:28,897 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 45 [2018-11-23 12:07:28,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:28,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:07:28,941 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:28,941 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:07:28,941 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:07:28,942 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:07:28,942 INFO L87 Difference]: Start difference. First operand 48 states and 49 transitions. Second operand 12 states. [2018-11-23 12:07:29,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:29,415 INFO L93 Difference]: Finished difference Result 76 states and 78 transitions. [2018-11-23 12:07:29,415 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:07:29,416 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 45 [2018-11-23 12:07:29,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:29,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:07:29,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2018-11-23 12:07:29,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:07:29,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 50 transitions. [2018-11-23 12:07:29,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 50 transitions. [2018-11-23 12:07:29,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:29,614 INFO L225 Difference]: With dead ends: 76 [2018-11-23 12:07:29,614 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 12:07:29,614 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:07:29,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 12:07:29,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2018-11-23 12:07:29,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:29,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 50 states. [2018-11-23 12:07:29,872 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 50 states. [2018-11-23 12:07:29,872 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 50 states. [2018-11-23 12:07:29,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:29,873 INFO L93 Difference]: Finished difference Result 51 states and 52 transitions. [2018-11-23 12:07:29,873 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2018-11-23 12:07:29,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:29,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:29,874 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 51 states. [2018-11-23 12:07:29,874 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 51 states. [2018-11-23 12:07:29,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:29,875 INFO L93 Difference]: Finished difference Result 51 states and 52 transitions. [2018-11-23 12:07:29,875 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 52 transitions. [2018-11-23 12:07:29,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:29,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:29,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:29,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:29,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:07:29,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 51 transitions. [2018-11-23 12:07:29,877 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 51 transitions. Word has length 45 [2018-11-23 12:07:29,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:29,877 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 51 transitions. [2018-11-23 12:07:29,877 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:07:29,878 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 51 transitions. [2018-11-23 12:07:29,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2018-11-23 12:07:29,878 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:29,878 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:29,878 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:29,878 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:29,879 INFO L82 PathProgramCache]: Analyzing trace with hash 61436142, now seen corresponding path program 6 times [2018-11-23 12:07:29,879 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:29,879 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:29,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:29,880 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:07:29,880 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:29,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:30,249 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-23 12:07:30,249 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-23 12:07:30,249 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-23 12:07:30,250 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #49#return; {2764#true} is VALID [2018-11-23 12:07:30,250 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret5 := main(); {2764#true} is VALID [2018-11-23 12:07:30,250 INFO L273 TraceCheckUtils]: 5: Hoare triple {2764#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {2766#(= main_~i~0 0)} is VALID [2018-11-23 12:07:30,251 INFO L273 TraceCheckUtils]: 6: Hoare triple {2766#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2766#(= main_~i~0 0)} is VALID [2018-11-23 12:07:30,251 INFO L273 TraceCheckUtils]: 7: Hoare triple {2766#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2767#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:30,252 INFO L273 TraceCheckUtils]: 8: Hoare triple {2767#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2767#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:30,252 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2768#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:30,252 INFO L273 TraceCheckUtils]: 10: Hoare triple {2768#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2768#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:30,253 INFO L273 TraceCheckUtils]: 11: Hoare triple {2768#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2769#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:30,254 INFO L273 TraceCheckUtils]: 12: Hoare triple {2769#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2769#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:30,254 INFO L273 TraceCheckUtils]: 13: Hoare triple {2769#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2770#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:30,255 INFO L273 TraceCheckUtils]: 14: Hoare triple {2770#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2770#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:30,256 INFO L273 TraceCheckUtils]: 15: Hoare triple {2770#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:30,256 INFO L273 TraceCheckUtils]: 16: Hoare triple {2771#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2771#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:30,257 INFO L273 TraceCheckUtils]: 17: Hoare triple {2771#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2772#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:30,257 INFO L273 TraceCheckUtils]: 18: Hoare triple {2772#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2772#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:30,258 INFO L273 TraceCheckUtils]: 19: Hoare triple {2772#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2773#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:30,259 INFO L273 TraceCheckUtils]: 20: Hoare triple {2773#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2773#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:30,259 INFO L273 TraceCheckUtils]: 21: Hoare triple {2773#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2774#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:30,261 INFO L273 TraceCheckUtils]: 22: Hoare triple {2774#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2774#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:30,262 INFO L273 TraceCheckUtils]: 23: Hoare triple {2774#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2775#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:30,262 INFO L273 TraceCheckUtils]: 24: Hoare triple {2775#(<= main_~i~0 9)} assume !(~i~0 < 100000); {2765#false} is VALID [2018-11-23 12:07:30,262 INFO L273 TraceCheckUtils]: 25: Hoare triple {2765#false} havoc ~x~0;~x~0 := 0; {2765#false} is VALID [2018-11-23 12:07:30,262 INFO L273 TraceCheckUtils]: 26: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,263 INFO L256 TraceCheckUtils]: 27: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2764#true} is VALID [2018-11-23 12:07:30,263 INFO L273 TraceCheckUtils]: 28: Hoare triple {2764#true} ~cond := #in~cond; {2764#true} is VALID [2018-11-23 12:07:30,263 INFO L273 TraceCheckUtils]: 29: Hoare triple {2764#true} assume !(0 == ~cond); {2764#true} is VALID [2018-11-23 12:07:30,263 INFO L273 TraceCheckUtils]: 30: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-23 12:07:30,263 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2764#true} {2765#false} #53#return; {2765#false} is VALID [2018-11-23 12:07:30,263 INFO L273 TraceCheckUtils]: 32: Hoare triple {2765#false} havoc #t~mem4;havoc #t~mem3; {2765#false} is VALID [2018-11-23 12:07:30,263 INFO L273 TraceCheckUtils]: 33: Hoare triple {2765#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2765#false} is VALID [2018-11-23 12:07:30,264 INFO L273 TraceCheckUtils]: 34: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,264 INFO L256 TraceCheckUtils]: 35: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2764#true} is VALID [2018-11-23 12:07:30,264 INFO L273 TraceCheckUtils]: 36: Hoare triple {2764#true} ~cond := #in~cond; {2764#true} is VALID [2018-11-23 12:07:30,264 INFO L273 TraceCheckUtils]: 37: Hoare triple {2764#true} assume !(0 == ~cond); {2764#true} is VALID [2018-11-23 12:07:30,264 INFO L273 TraceCheckUtils]: 38: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-23 12:07:30,265 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2764#true} {2765#false} #53#return; {2765#false} is VALID [2018-11-23 12:07:30,265 INFO L273 TraceCheckUtils]: 40: Hoare triple {2765#false} havoc #t~mem4;havoc #t~mem3; {2765#false} is VALID [2018-11-23 12:07:30,265 INFO L273 TraceCheckUtils]: 41: Hoare triple {2765#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2765#false} is VALID [2018-11-23 12:07:30,265 INFO L273 TraceCheckUtils]: 42: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,265 INFO L256 TraceCheckUtils]: 43: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2765#false} is VALID [2018-11-23 12:07:30,265 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} ~cond := #in~cond; {2765#false} is VALID [2018-11-23 12:07:30,266 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume 0 == ~cond; {2765#false} is VALID [2018-11-23 12:07:30,266 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-23 12:07:30,268 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 4 proven. 81 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:30,268 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:30,268 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:30,282 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:07:30,330 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2018-11-23 12:07:30,330 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:07:30,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:30,355 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:30,467 INFO L256 TraceCheckUtils]: 0: Hoare triple {2764#true} call ULTIMATE.init(); {2764#true} is VALID [2018-11-23 12:07:30,468 INFO L273 TraceCheckUtils]: 1: Hoare triple {2764#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2764#true} is VALID [2018-11-23 12:07:30,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {2764#true} assume true; {2764#true} is VALID [2018-11-23 12:07:30,468 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2764#true} {2764#true} #49#return; {2764#true} is VALID [2018-11-23 12:07:30,468 INFO L256 TraceCheckUtils]: 4: Hoare triple {2764#true} call #t~ret5 := main(); {2764#true} is VALID [2018-11-23 12:07:30,469 INFO L273 TraceCheckUtils]: 5: Hoare triple {2764#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {2794#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:30,470 INFO L273 TraceCheckUtils]: 6: Hoare triple {2794#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2794#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:30,470 INFO L273 TraceCheckUtils]: 7: Hoare triple {2794#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2767#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:30,471 INFO L273 TraceCheckUtils]: 8: Hoare triple {2767#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2767#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:30,471 INFO L273 TraceCheckUtils]: 9: Hoare triple {2767#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2768#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:30,472 INFO L273 TraceCheckUtils]: 10: Hoare triple {2768#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2768#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:30,472 INFO L273 TraceCheckUtils]: 11: Hoare triple {2768#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2769#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:30,472 INFO L273 TraceCheckUtils]: 12: Hoare triple {2769#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2769#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:30,473 INFO L273 TraceCheckUtils]: 13: Hoare triple {2769#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2770#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:30,473 INFO L273 TraceCheckUtils]: 14: Hoare triple {2770#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2770#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:30,474 INFO L273 TraceCheckUtils]: 15: Hoare triple {2770#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2771#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:30,475 INFO L273 TraceCheckUtils]: 16: Hoare triple {2771#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2771#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:30,475 INFO L273 TraceCheckUtils]: 17: Hoare triple {2771#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2772#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:30,476 INFO L273 TraceCheckUtils]: 18: Hoare triple {2772#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2772#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:30,477 INFO L273 TraceCheckUtils]: 19: Hoare triple {2772#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2773#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:30,477 INFO L273 TraceCheckUtils]: 20: Hoare triple {2773#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2773#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:30,478 INFO L273 TraceCheckUtils]: 21: Hoare triple {2773#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2774#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:30,479 INFO L273 TraceCheckUtils]: 22: Hoare triple {2774#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {2774#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:30,479 INFO L273 TraceCheckUtils]: 23: Hoare triple {2774#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2775#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:30,480 INFO L273 TraceCheckUtils]: 24: Hoare triple {2775#(<= main_~i~0 9)} assume !(~i~0 < 100000); {2765#false} is VALID [2018-11-23 12:07:30,480 INFO L273 TraceCheckUtils]: 25: Hoare triple {2765#false} havoc ~x~0;~x~0 := 0; {2765#false} is VALID [2018-11-23 12:07:30,481 INFO L273 TraceCheckUtils]: 26: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,481 INFO L256 TraceCheckUtils]: 27: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2765#false} is VALID [2018-11-23 12:07:30,481 INFO L273 TraceCheckUtils]: 28: Hoare triple {2765#false} ~cond := #in~cond; {2765#false} is VALID [2018-11-23 12:07:30,481 INFO L273 TraceCheckUtils]: 29: Hoare triple {2765#false} assume !(0 == ~cond); {2765#false} is VALID [2018-11-23 12:07:30,481 INFO L273 TraceCheckUtils]: 30: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-23 12:07:30,482 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2765#false} {2765#false} #53#return; {2765#false} is VALID [2018-11-23 12:07:30,482 INFO L273 TraceCheckUtils]: 32: Hoare triple {2765#false} havoc #t~mem4;havoc #t~mem3; {2765#false} is VALID [2018-11-23 12:07:30,482 INFO L273 TraceCheckUtils]: 33: Hoare triple {2765#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2765#false} is VALID [2018-11-23 12:07:30,482 INFO L273 TraceCheckUtils]: 34: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,483 INFO L256 TraceCheckUtils]: 35: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2765#false} is VALID [2018-11-23 12:07:30,483 INFO L273 TraceCheckUtils]: 36: Hoare triple {2765#false} ~cond := #in~cond; {2765#false} is VALID [2018-11-23 12:07:30,483 INFO L273 TraceCheckUtils]: 37: Hoare triple {2765#false} assume !(0 == ~cond); {2765#false} is VALID [2018-11-23 12:07:30,483 INFO L273 TraceCheckUtils]: 38: Hoare triple {2765#false} assume true; {2765#false} is VALID [2018-11-23 12:07:30,483 INFO L268 TraceCheckUtils]: 39: Hoare quadruple {2765#false} {2765#false} #53#return; {2765#false} is VALID [2018-11-23 12:07:30,484 INFO L273 TraceCheckUtils]: 40: Hoare triple {2765#false} havoc #t~mem4;havoc #t~mem3; {2765#false} is VALID [2018-11-23 12:07:30,484 INFO L273 TraceCheckUtils]: 41: Hoare triple {2765#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2765#false} is VALID [2018-11-23 12:07:30,484 INFO L273 TraceCheckUtils]: 42: Hoare triple {2765#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {2765#false} is VALID [2018-11-23 12:07:30,484 INFO L256 TraceCheckUtils]: 43: Hoare triple {2765#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {2765#false} is VALID [2018-11-23 12:07:30,485 INFO L273 TraceCheckUtils]: 44: Hoare triple {2765#false} ~cond := #in~cond; {2765#false} is VALID [2018-11-23 12:07:30,485 INFO L273 TraceCheckUtils]: 45: Hoare triple {2765#false} assume 0 == ~cond; {2765#false} is VALID [2018-11-23 12:07:30,485 INFO L273 TraceCheckUtils]: 46: Hoare triple {2765#false} assume !false; {2765#false} is VALID [2018-11-23 12:07:30,487 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 12:07:30,505 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:30,506 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-23 12:07:30,506 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-23 12:07:30,507 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:30,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:07:30,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:30,572 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:07:30,572 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:07:30,572 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:07:30,572 INFO L87 Difference]: Start difference. First operand 50 states and 51 transitions. Second operand 13 states. [2018-11-23 12:07:31,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:31,111 INFO L93 Difference]: Finished difference Result 78 states and 80 transitions. [2018-11-23 12:07:31,111 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:07:31,111 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 47 [2018-11-23 12:07:31,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:31,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:07:31,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2018-11-23 12:07:31,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:07:31,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2018-11-23 12:07:31,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 52 transitions. [2018-11-23 12:07:31,159 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:31,161 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:07:31,161 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 12:07:31,162 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:07:31,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 12:07:31,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2018-11-23 12:07:31,420 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:31,420 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 52 states. [2018-11-23 12:07:31,420 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 52 states. [2018-11-23 12:07:31,420 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 52 states. [2018-11-23 12:07:31,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:31,422 INFO L93 Difference]: Finished difference Result 53 states and 54 transitions. [2018-11-23 12:07:31,422 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 54 transitions. [2018-11-23 12:07:31,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:31,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:31,423 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 53 states. [2018-11-23 12:07:31,423 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 53 states. [2018-11-23 12:07:31,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:31,424 INFO L93 Difference]: Finished difference Result 53 states and 54 transitions. [2018-11-23 12:07:31,425 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 54 transitions. [2018-11-23 12:07:31,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:31,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:31,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:31,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:31,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 12:07:31,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 53 transitions. [2018-11-23 12:07:31,427 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 53 transitions. Word has length 47 [2018-11-23 12:07:31,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:31,427 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 53 transitions. [2018-11-23 12:07:31,427 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:07:31,427 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 53 transitions. [2018-11-23 12:07:31,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 12:07:31,428 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:31,428 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:31,428 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:31,428 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:31,428 INFO L82 PathProgramCache]: Analyzing trace with hash -747857268, now seen corresponding path program 7 times [2018-11-23 12:07:31,429 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:31,429 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:31,429 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:31,430 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:07:31,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:31,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:31,690 INFO L256 TraceCheckUtils]: 0: Hoare triple {3210#true} call ULTIMATE.init(); {3210#true} is VALID [2018-11-23 12:07:31,690 INFO L273 TraceCheckUtils]: 1: Hoare triple {3210#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3210#true} is VALID [2018-11-23 12:07:31,691 INFO L273 TraceCheckUtils]: 2: Hoare triple {3210#true} assume true; {3210#true} is VALID [2018-11-23 12:07:31,691 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3210#true} {3210#true} #49#return; {3210#true} is VALID [2018-11-23 12:07:31,691 INFO L256 TraceCheckUtils]: 4: Hoare triple {3210#true} call #t~ret5 := main(); {3210#true} is VALID [2018-11-23 12:07:31,691 INFO L273 TraceCheckUtils]: 5: Hoare triple {3210#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {3212#(= main_~i~0 0)} is VALID [2018-11-23 12:07:31,692 INFO L273 TraceCheckUtils]: 6: Hoare triple {3212#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3212#(= main_~i~0 0)} is VALID [2018-11-23 12:07:31,692 INFO L273 TraceCheckUtils]: 7: Hoare triple {3212#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3213#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:31,693 INFO L273 TraceCheckUtils]: 8: Hoare triple {3213#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3213#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:31,693 INFO L273 TraceCheckUtils]: 9: Hoare triple {3213#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3214#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:31,693 INFO L273 TraceCheckUtils]: 10: Hoare triple {3214#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3214#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:31,694 INFO L273 TraceCheckUtils]: 11: Hoare triple {3214#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3215#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:31,694 INFO L273 TraceCheckUtils]: 12: Hoare triple {3215#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3215#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:31,695 INFO L273 TraceCheckUtils]: 13: Hoare triple {3215#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3216#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:31,695 INFO L273 TraceCheckUtils]: 14: Hoare triple {3216#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3216#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:31,696 INFO L273 TraceCheckUtils]: 15: Hoare triple {3216#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3217#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:31,697 INFO L273 TraceCheckUtils]: 16: Hoare triple {3217#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3217#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:31,697 INFO L273 TraceCheckUtils]: 17: Hoare triple {3217#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3218#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:31,698 INFO L273 TraceCheckUtils]: 18: Hoare triple {3218#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3218#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:31,699 INFO L273 TraceCheckUtils]: 19: Hoare triple {3218#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3219#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:31,699 INFO L273 TraceCheckUtils]: 20: Hoare triple {3219#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3219#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:31,700 INFO L273 TraceCheckUtils]: 21: Hoare triple {3219#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3220#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:31,700 INFO L273 TraceCheckUtils]: 22: Hoare triple {3220#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3220#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:31,701 INFO L273 TraceCheckUtils]: 23: Hoare triple {3220#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3221#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:31,702 INFO L273 TraceCheckUtils]: 24: Hoare triple {3221#(<= main_~i~0 9)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3221#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:31,702 INFO L273 TraceCheckUtils]: 25: Hoare triple {3221#(<= main_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3222#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:31,703 INFO L273 TraceCheckUtils]: 26: Hoare triple {3222#(<= main_~i~0 10)} assume !(~i~0 < 100000); {3211#false} is VALID [2018-11-23 12:07:31,703 INFO L273 TraceCheckUtils]: 27: Hoare triple {3211#false} havoc ~x~0;~x~0 := 0; {3211#false} is VALID [2018-11-23 12:07:31,704 INFO L273 TraceCheckUtils]: 28: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,704 INFO L256 TraceCheckUtils]: 29: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3210#true} is VALID [2018-11-23 12:07:31,704 INFO L273 TraceCheckUtils]: 30: Hoare triple {3210#true} ~cond := #in~cond; {3210#true} is VALID [2018-11-23 12:07:31,704 INFO L273 TraceCheckUtils]: 31: Hoare triple {3210#true} assume !(0 == ~cond); {3210#true} is VALID [2018-11-23 12:07:31,704 INFO L273 TraceCheckUtils]: 32: Hoare triple {3210#true} assume true; {3210#true} is VALID [2018-11-23 12:07:31,705 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3210#true} {3211#false} #53#return; {3211#false} is VALID [2018-11-23 12:07:31,705 INFO L273 TraceCheckUtils]: 34: Hoare triple {3211#false} havoc #t~mem4;havoc #t~mem3; {3211#false} is VALID [2018-11-23 12:07:31,705 INFO L273 TraceCheckUtils]: 35: Hoare triple {3211#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3211#false} is VALID [2018-11-23 12:07:31,705 INFO L273 TraceCheckUtils]: 36: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,705 INFO L256 TraceCheckUtils]: 37: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3210#true} is VALID [2018-11-23 12:07:31,705 INFO L273 TraceCheckUtils]: 38: Hoare triple {3210#true} ~cond := #in~cond; {3210#true} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 39: Hoare triple {3210#true} assume !(0 == ~cond); {3210#true} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 40: Hoare triple {3210#true} assume true; {3210#true} is VALID [2018-11-23 12:07:31,706 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {3210#true} {3211#false} #53#return; {3211#false} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 42: Hoare triple {3211#false} havoc #t~mem4;havoc #t~mem3; {3211#false} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 43: Hoare triple {3211#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3211#false} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 44: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,706 INFO L256 TraceCheckUtils]: 45: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3211#false} is VALID [2018-11-23 12:07:31,706 INFO L273 TraceCheckUtils]: 46: Hoare triple {3211#false} ~cond := #in~cond; {3211#false} is VALID [2018-11-23 12:07:31,707 INFO L273 TraceCheckUtils]: 47: Hoare triple {3211#false} assume 0 == ~cond; {3211#false} is VALID [2018-11-23 12:07:31,707 INFO L273 TraceCheckUtils]: 48: Hoare triple {3211#false} assume !false; {3211#false} is VALID [2018-11-23 12:07:31,708 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 4 proven. 100 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:31,708 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:31,709 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:31,718 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:07:31,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:31,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:31,749 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:31,849 INFO L256 TraceCheckUtils]: 0: Hoare triple {3210#true} call ULTIMATE.init(); {3210#true} is VALID [2018-11-23 12:07:31,849 INFO L273 TraceCheckUtils]: 1: Hoare triple {3210#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3210#true} is VALID [2018-11-23 12:07:31,849 INFO L273 TraceCheckUtils]: 2: Hoare triple {3210#true} assume true; {3210#true} is VALID [2018-11-23 12:07:31,849 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3210#true} {3210#true} #49#return; {3210#true} is VALID [2018-11-23 12:07:31,849 INFO L256 TraceCheckUtils]: 4: Hoare triple {3210#true} call #t~ret5 := main(); {3210#true} is VALID [2018-11-23 12:07:31,850 INFO L273 TraceCheckUtils]: 5: Hoare triple {3210#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {3241#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:31,850 INFO L273 TraceCheckUtils]: 6: Hoare triple {3241#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3241#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:31,851 INFO L273 TraceCheckUtils]: 7: Hoare triple {3241#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3213#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:31,851 INFO L273 TraceCheckUtils]: 8: Hoare triple {3213#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3213#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:31,852 INFO L273 TraceCheckUtils]: 9: Hoare triple {3213#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3214#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:31,852 INFO L273 TraceCheckUtils]: 10: Hoare triple {3214#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3214#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:31,852 INFO L273 TraceCheckUtils]: 11: Hoare triple {3214#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3215#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:31,853 INFO L273 TraceCheckUtils]: 12: Hoare triple {3215#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3215#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:31,854 INFO L273 TraceCheckUtils]: 13: Hoare triple {3215#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3216#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:31,854 INFO L273 TraceCheckUtils]: 14: Hoare triple {3216#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3216#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:31,855 INFO L273 TraceCheckUtils]: 15: Hoare triple {3216#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3217#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:31,856 INFO L273 TraceCheckUtils]: 16: Hoare triple {3217#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3217#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:31,856 INFO L273 TraceCheckUtils]: 17: Hoare triple {3217#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3218#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:31,857 INFO L273 TraceCheckUtils]: 18: Hoare triple {3218#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3218#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:31,858 INFO L273 TraceCheckUtils]: 19: Hoare triple {3218#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3219#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:31,858 INFO L273 TraceCheckUtils]: 20: Hoare triple {3219#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3219#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:31,859 INFO L273 TraceCheckUtils]: 21: Hoare triple {3219#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3220#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:31,860 INFO L273 TraceCheckUtils]: 22: Hoare triple {3220#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3220#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:31,860 INFO L273 TraceCheckUtils]: 23: Hoare triple {3220#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3221#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:31,861 INFO L273 TraceCheckUtils]: 24: Hoare triple {3221#(<= main_~i~0 9)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3221#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:31,881 INFO L273 TraceCheckUtils]: 25: Hoare triple {3221#(<= main_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3222#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:31,886 INFO L273 TraceCheckUtils]: 26: Hoare triple {3222#(<= main_~i~0 10)} assume !(~i~0 < 100000); {3211#false} is VALID [2018-11-23 12:07:31,886 INFO L273 TraceCheckUtils]: 27: Hoare triple {3211#false} havoc ~x~0;~x~0 := 0; {3211#false} is VALID [2018-11-23 12:07:31,886 INFO L273 TraceCheckUtils]: 28: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,886 INFO L256 TraceCheckUtils]: 29: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3211#false} is VALID [2018-11-23 12:07:31,886 INFO L273 TraceCheckUtils]: 30: Hoare triple {3211#false} ~cond := #in~cond; {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L273 TraceCheckUtils]: 31: Hoare triple {3211#false} assume !(0 == ~cond); {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L273 TraceCheckUtils]: 32: Hoare triple {3211#false} assume true; {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {3211#false} {3211#false} #53#return; {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L273 TraceCheckUtils]: 34: Hoare triple {3211#false} havoc #t~mem4;havoc #t~mem3; {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L273 TraceCheckUtils]: 35: Hoare triple {3211#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3211#false} is VALID [2018-11-23 12:07:31,887 INFO L273 TraceCheckUtils]: 36: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,888 INFO L256 TraceCheckUtils]: 37: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3211#false} is VALID [2018-11-23 12:07:31,888 INFO L273 TraceCheckUtils]: 38: Hoare triple {3211#false} ~cond := #in~cond; {3211#false} is VALID [2018-11-23 12:07:31,888 INFO L273 TraceCheckUtils]: 39: Hoare triple {3211#false} assume !(0 == ~cond); {3211#false} is VALID [2018-11-23 12:07:31,888 INFO L273 TraceCheckUtils]: 40: Hoare triple {3211#false} assume true; {3211#false} is VALID [2018-11-23 12:07:31,888 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {3211#false} {3211#false} #53#return; {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L273 TraceCheckUtils]: 42: Hoare triple {3211#false} havoc #t~mem4;havoc #t~mem3; {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L273 TraceCheckUtils]: 43: Hoare triple {3211#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L273 TraceCheckUtils]: 44: Hoare triple {3211#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L256 TraceCheckUtils]: 45: Hoare triple {3211#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L273 TraceCheckUtils]: 46: Hoare triple {3211#false} ~cond := #in~cond; {3211#false} is VALID [2018-11-23 12:07:31,889 INFO L273 TraceCheckUtils]: 47: Hoare triple {3211#false} assume 0 == ~cond; {3211#false} is VALID [2018-11-23 12:07:31,890 INFO L273 TraceCheckUtils]: 48: Hoare triple {3211#false} assume !false; {3211#false} is VALID [2018-11-23 12:07:31,891 INFO L134 CoverageAnalysis]: Checked inductivity of 116 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 12:07:31,912 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:31,912 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:07:31,913 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 49 [2018-11-23 12:07:31,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:31,913 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:07:31,959 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:31,959 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:07:31,959 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:07:31,959 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:07:31,960 INFO L87 Difference]: Start difference. First operand 52 states and 53 transitions. Second operand 14 states. [2018-11-23 12:07:32,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:32,436 INFO L93 Difference]: Finished difference Result 80 states and 82 transitions. [2018-11-23 12:07:32,436 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:07:32,436 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 49 [2018-11-23 12:07:32,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:32,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:07:32,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 54 transitions. [2018-11-23 12:07:32,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:07:32,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 54 transitions. [2018-11-23 12:07:32,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 54 transitions. [2018-11-23 12:07:32,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:32,517 INFO L225 Difference]: With dead ends: 80 [2018-11-23 12:07:32,517 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 12:07:32,518 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:07:32,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 12:07:32,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2018-11-23 12:07:32,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:32,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 54 states. [2018-11-23 12:07:32,899 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 54 states. [2018-11-23 12:07:32,899 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 54 states. [2018-11-23 12:07:32,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:32,900 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-23 12:07:32,901 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-23 12:07:32,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:32,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:32,901 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 55 states. [2018-11-23 12:07:32,901 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 55 states. [2018-11-23 12:07:32,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:32,902 INFO L93 Difference]: Finished difference Result 55 states and 56 transitions. [2018-11-23 12:07:32,903 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 56 transitions. [2018-11-23 12:07:32,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:32,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:32,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:32,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:32,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:07:32,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 55 transitions. [2018-11-23 12:07:32,905 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 55 transitions. Word has length 49 [2018-11-23 12:07:32,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:32,905 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 55 transitions. [2018-11-23 12:07:32,905 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:07:32,905 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 55 transitions. [2018-11-23 12:07:32,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 12:07:32,906 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:32,906 INFO L402 BasicCegarLoop]: trace histogram [11, 11, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:32,907 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:32,907 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:32,907 INFO L82 PathProgramCache]: Analyzing trace with hash -1089743702, now seen corresponding path program 8 times [2018-11-23 12:07:32,907 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:32,907 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:32,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:32,908 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:07:32,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:32,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:33,240 INFO L256 TraceCheckUtils]: 0: Hoare triple {3673#true} call ULTIMATE.init(); {3673#true} is VALID [2018-11-23 12:07:33,241 INFO L273 TraceCheckUtils]: 1: Hoare triple {3673#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3673#true} is VALID [2018-11-23 12:07:33,241 INFO L273 TraceCheckUtils]: 2: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 12:07:33,241 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3673#true} {3673#true} #49#return; {3673#true} is VALID [2018-11-23 12:07:33,241 INFO L256 TraceCheckUtils]: 4: Hoare triple {3673#true} call #t~ret5 := main(); {3673#true} is VALID [2018-11-23 12:07:33,242 INFO L273 TraceCheckUtils]: 5: Hoare triple {3673#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {3675#(= main_~i~0 0)} is VALID [2018-11-23 12:07:33,242 INFO L273 TraceCheckUtils]: 6: Hoare triple {3675#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3675#(= main_~i~0 0)} is VALID [2018-11-23 12:07:33,243 INFO L273 TraceCheckUtils]: 7: Hoare triple {3675#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3676#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:33,243 INFO L273 TraceCheckUtils]: 8: Hoare triple {3676#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3676#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:33,244 INFO L273 TraceCheckUtils]: 9: Hoare triple {3676#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3677#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:33,244 INFO L273 TraceCheckUtils]: 10: Hoare triple {3677#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3677#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:33,245 INFO L273 TraceCheckUtils]: 11: Hoare triple {3677#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3678#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:33,245 INFO L273 TraceCheckUtils]: 12: Hoare triple {3678#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3678#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:33,246 INFO L273 TraceCheckUtils]: 13: Hoare triple {3678#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3679#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:33,247 INFO L273 TraceCheckUtils]: 14: Hoare triple {3679#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3679#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:33,248 INFO L273 TraceCheckUtils]: 15: Hoare triple {3679#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3680#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:33,248 INFO L273 TraceCheckUtils]: 16: Hoare triple {3680#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3680#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:33,249 INFO L273 TraceCheckUtils]: 17: Hoare triple {3680#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3681#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:33,250 INFO L273 TraceCheckUtils]: 18: Hoare triple {3681#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3681#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:33,251 INFO L273 TraceCheckUtils]: 19: Hoare triple {3681#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3682#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:33,251 INFO L273 TraceCheckUtils]: 20: Hoare triple {3682#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3682#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:33,252 INFO L273 TraceCheckUtils]: 21: Hoare triple {3682#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3683#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:33,253 INFO L273 TraceCheckUtils]: 22: Hoare triple {3683#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3683#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:33,254 INFO L273 TraceCheckUtils]: 23: Hoare triple {3683#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3684#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:33,254 INFO L273 TraceCheckUtils]: 24: Hoare triple {3684#(<= main_~i~0 9)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3684#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:33,255 INFO L273 TraceCheckUtils]: 25: Hoare triple {3684#(<= main_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3685#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:33,256 INFO L273 TraceCheckUtils]: 26: Hoare triple {3685#(<= main_~i~0 10)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3685#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:33,257 INFO L273 TraceCheckUtils]: 27: Hoare triple {3685#(<= main_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3686#(<= main_~i~0 11)} is VALID [2018-11-23 12:07:33,257 INFO L273 TraceCheckUtils]: 28: Hoare triple {3686#(<= main_~i~0 11)} assume !(~i~0 < 100000); {3674#false} is VALID [2018-11-23 12:07:33,258 INFO L273 TraceCheckUtils]: 29: Hoare triple {3674#false} havoc ~x~0;~x~0 := 0; {3674#false} is VALID [2018-11-23 12:07:33,258 INFO L273 TraceCheckUtils]: 30: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,258 INFO L256 TraceCheckUtils]: 31: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3673#true} is VALID [2018-11-23 12:07:33,258 INFO L273 TraceCheckUtils]: 32: Hoare triple {3673#true} ~cond := #in~cond; {3673#true} is VALID [2018-11-23 12:07:33,259 INFO L273 TraceCheckUtils]: 33: Hoare triple {3673#true} assume !(0 == ~cond); {3673#true} is VALID [2018-11-23 12:07:33,259 INFO L273 TraceCheckUtils]: 34: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 12:07:33,259 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3673#true} {3674#false} #53#return; {3674#false} is VALID [2018-11-23 12:07:33,259 INFO L273 TraceCheckUtils]: 36: Hoare triple {3674#false} havoc #t~mem4;havoc #t~mem3; {3674#false} is VALID [2018-11-23 12:07:33,260 INFO L273 TraceCheckUtils]: 37: Hoare triple {3674#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3674#false} is VALID [2018-11-23 12:07:33,260 INFO L273 TraceCheckUtils]: 38: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,260 INFO L256 TraceCheckUtils]: 39: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3673#true} is VALID [2018-11-23 12:07:33,260 INFO L273 TraceCheckUtils]: 40: Hoare triple {3673#true} ~cond := #in~cond; {3673#true} is VALID [2018-11-23 12:07:33,260 INFO L273 TraceCheckUtils]: 41: Hoare triple {3673#true} assume !(0 == ~cond); {3673#true} is VALID [2018-11-23 12:07:33,261 INFO L273 TraceCheckUtils]: 42: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 12:07:33,261 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {3673#true} {3674#false} #53#return; {3674#false} is VALID [2018-11-23 12:07:33,261 INFO L273 TraceCheckUtils]: 44: Hoare triple {3674#false} havoc #t~mem4;havoc #t~mem3; {3674#false} is VALID [2018-11-23 12:07:33,261 INFO L273 TraceCheckUtils]: 45: Hoare triple {3674#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3674#false} is VALID [2018-11-23 12:07:33,262 INFO L273 TraceCheckUtils]: 46: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,262 INFO L256 TraceCheckUtils]: 47: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3674#false} is VALID [2018-11-23 12:07:33,262 INFO L273 TraceCheckUtils]: 48: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 12:07:33,262 INFO L273 TraceCheckUtils]: 49: Hoare triple {3674#false} assume 0 == ~cond; {3674#false} is VALID [2018-11-23 12:07:33,262 INFO L273 TraceCheckUtils]: 50: Hoare triple {3674#false} assume !false; {3674#false} is VALID [2018-11-23 12:07:33,265 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 4 proven. 121 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:33,266 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:33,266 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:33,274 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:07:33,298 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:07:33,298 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:07:33,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:33,313 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:33,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {3673#true} call ULTIMATE.init(); {3673#true} is VALID [2018-11-23 12:07:33,438 INFO L273 TraceCheckUtils]: 1: Hoare triple {3673#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3673#true} is VALID [2018-11-23 12:07:33,438 INFO L273 TraceCheckUtils]: 2: Hoare triple {3673#true} assume true; {3673#true} is VALID [2018-11-23 12:07:33,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3673#true} {3673#true} #49#return; {3673#true} is VALID [2018-11-23 12:07:33,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {3673#true} call #t~ret5 := main(); {3673#true} is VALID [2018-11-23 12:07:33,440 INFO L273 TraceCheckUtils]: 5: Hoare triple {3673#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {3705#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:33,440 INFO L273 TraceCheckUtils]: 6: Hoare triple {3705#(<= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3705#(<= main_~i~0 0)} is VALID [2018-11-23 12:07:33,440 INFO L273 TraceCheckUtils]: 7: Hoare triple {3705#(<= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3676#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:33,441 INFO L273 TraceCheckUtils]: 8: Hoare triple {3676#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3676#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:33,441 INFO L273 TraceCheckUtils]: 9: Hoare triple {3676#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3677#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:33,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {3677#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3677#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:33,442 INFO L273 TraceCheckUtils]: 11: Hoare triple {3677#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3678#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:33,442 INFO L273 TraceCheckUtils]: 12: Hoare triple {3678#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3678#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:33,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {3678#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3679#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:33,443 INFO L273 TraceCheckUtils]: 14: Hoare triple {3679#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3679#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:33,444 INFO L273 TraceCheckUtils]: 15: Hoare triple {3679#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3680#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:33,445 INFO L273 TraceCheckUtils]: 16: Hoare triple {3680#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3680#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:33,445 INFO L273 TraceCheckUtils]: 17: Hoare triple {3680#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3681#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:33,446 INFO L273 TraceCheckUtils]: 18: Hoare triple {3681#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3681#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:33,447 INFO L273 TraceCheckUtils]: 19: Hoare triple {3681#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3682#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:33,447 INFO L273 TraceCheckUtils]: 20: Hoare triple {3682#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3682#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:33,448 INFO L273 TraceCheckUtils]: 21: Hoare triple {3682#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3683#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:33,449 INFO L273 TraceCheckUtils]: 22: Hoare triple {3683#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3683#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:33,449 INFO L273 TraceCheckUtils]: 23: Hoare triple {3683#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3684#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:33,450 INFO L273 TraceCheckUtils]: 24: Hoare triple {3684#(<= main_~i~0 9)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3684#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:33,451 INFO L273 TraceCheckUtils]: 25: Hoare triple {3684#(<= main_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3685#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:33,451 INFO L273 TraceCheckUtils]: 26: Hoare triple {3685#(<= main_~i~0 10)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {3685#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:33,452 INFO L273 TraceCheckUtils]: 27: Hoare triple {3685#(<= main_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3686#(<= main_~i~0 11)} is VALID [2018-11-23 12:07:33,453 INFO L273 TraceCheckUtils]: 28: Hoare triple {3686#(<= main_~i~0 11)} assume !(~i~0 < 100000); {3674#false} is VALID [2018-11-23 12:07:33,453 INFO L273 TraceCheckUtils]: 29: Hoare triple {3674#false} havoc ~x~0;~x~0 := 0; {3674#false} is VALID [2018-11-23 12:07:33,453 INFO L273 TraceCheckUtils]: 30: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,453 INFO L256 TraceCheckUtils]: 31: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3674#false} is VALID [2018-11-23 12:07:33,454 INFO L273 TraceCheckUtils]: 32: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 12:07:33,454 INFO L273 TraceCheckUtils]: 33: Hoare triple {3674#false} assume !(0 == ~cond); {3674#false} is VALID [2018-11-23 12:07:33,454 INFO L273 TraceCheckUtils]: 34: Hoare triple {3674#false} assume true; {3674#false} is VALID [2018-11-23 12:07:33,454 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {3674#false} {3674#false} #53#return; {3674#false} is VALID [2018-11-23 12:07:33,454 INFO L273 TraceCheckUtils]: 36: Hoare triple {3674#false} havoc #t~mem4;havoc #t~mem3; {3674#false} is VALID [2018-11-23 12:07:33,455 INFO L273 TraceCheckUtils]: 37: Hoare triple {3674#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3674#false} is VALID [2018-11-23 12:07:33,455 INFO L273 TraceCheckUtils]: 38: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,455 INFO L256 TraceCheckUtils]: 39: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3674#false} is VALID [2018-11-23 12:07:33,455 INFO L273 TraceCheckUtils]: 40: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 12:07:33,455 INFO L273 TraceCheckUtils]: 41: Hoare triple {3674#false} assume !(0 == ~cond); {3674#false} is VALID [2018-11-23 12:07:33,456 INFO L273 TraceCheckUtils]: 42: Hoare triple {3674#false} assume true; {3674#false} is VALID [2018-11-23 12:07:33,456 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {3674#false} {3674#false} #53#return; {3674#false} is VALID [2018-11-23 12:07:33,456 INFO L273 TraceCheckUtils]: 44: Hoare triple {3674#false} havoc #t~mem4;havoc #t~mem3; {3674#false} is VALID [2018-11-23 12:07:33,456 INFO L273 TraceCheckUtils]: 45: Hoare triple {3674#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3674#false} is VALID [2018-11-23 12:07:33,457 INFO L273 TraceCheckUtils]: 46: Hoare triple {3674#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {3674#false} is VALID [2018-11-23 12:07:33,457 INFO L256 TraceCheckUtils]: 47: Hoare triple {3674#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {3674#false} is VALID [2018-11-23 12:07:33,457 INFO L273 TraceCheckUtils]: 48: Hoare triple {3674#false} ~cond := #in~cond; {3674#false} is VALID [2018-11-23 12:07:33,458 INFO L273 TraceCheckUtils]: 49: Hoare triple {3674#false} assume 0 == ~cond; {3674#false} is VALID [2018-11-23 12:07:33,458 INFO L273 TraceCheckUtils]: 50: Hoare triple {3674#false} assume !false; {3674#false} is VALID [2018-11-23 12:07:33,460 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-23 12:07:33,487 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:33,487 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-23 12:07:33,488 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 51 [2018-11-23 12:07:33,488 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:33,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:07:33,606 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:33,606 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:07:33,607 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:07:33,607 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:07:33,607 INFO L87 Difference]: Start difference. First operand 54 states and 55 transitions. Second operand 15 states. [2018-11-23 12:07:34,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:34,075 INFO L93 Difference]: Finished difference Result 82 states and 84 transitions. [2018-11-23 12:07:34,075 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:07:34,075 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 51 [2018-11-23 12:07:34,075 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:07:34,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:07:34,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2018-11-23 12:07:34,077 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:07:34,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 56 transitions. [2018-11-23 12:07:34,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 56 transitions. [2018-11-23 12:07:34,129 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:34,131 INFO L225 Difference]: With dead ends: 82 [2018-11-23 12:07:34,131 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 12:07:34,132 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 51 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:07:34,132 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 12:07:34,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 56. [2018-11-23 12:07:34,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:07:34,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 56 states. [2018-11-23 12:07:34,328 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 56 states. [2018-11-23 12:07:34,328 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 56 states. [2018-11-23 12:07:34,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:34,330 INFO L93 Difference]: Finished difference Result 57 states and 58 transitions. [2018-11-23 12:07:34,330 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:07:34,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:34,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:34,331 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 57 states. [2018-11-23 12:07:34,331 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 57 states. [2018-11-23 12:07:34,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:07:34,332 INFO L93 Difference]: Finished difference Result 57 states and 58 transitions. [2018-11-23 12:07:34,333 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 58 transitions. [2018-11-23 12:07:34,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:07:34,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:07:34,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:07:34,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:07:34,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 12:07:34,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 57 transitions. [2018-11-23 12:07:34,335 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 57 transitions. Word has length 51 [2018-11-23 12:07:34,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:07:34,335 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 57 transitions. [2018-11-23 12:07:34,335 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:07:34,335 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 57 transitions. [2018-11-23 12:07:34,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2018-11-23 12:07:34,336 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:07:34,336 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:07:34,336 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:07:34,336 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:07:34,337 INFO L82 PathProgramCache]: Analyzing trace with hash 1069875016, now seen corresponding path program 9 times [2018-11-23 12:07:34,337 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:07:34,337 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:07:34,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:34,338 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:07:34,338 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:07:34,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:35,097 INFO L256 TraceCheckUtils]: 0: Hoare triple {4153#true} call ULTIMATE.init(); {4153#true} is VALID [2018-11-23 12:07:35,098 INFO L273 TraceCheckUtils]: 1: Hoare triple {4153#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4153#true} is VALID [2018-11-23 12:07:35,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {4153#true} assume true; {4153#true} is VALID [2018-11-23 12:07:35,098 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4153#true} {4153#true} #49#return; {4153#true} is VALID [2018-11-23 12:07:35,098 INFO L256 TraceCheckUtils]: 4: Hoare triple {4153#true} call #t~ret5 := main(); {4153#true} is VALID [2018-11-23 12:07:35,099 INFO L273 TraceCheckUtils]: 5: Hoare triple {4153#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {4155#(= main_~i~0 0)} is VALID [2018-11-23 12:07:35,099 INFO L273 TraceCheckUtils]: 6: Hoare triple {4155#(= main_~i~0 0)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4155#(= main_~i~0 0)} is VALID [2018-11-23 12:07:35,100 INFO L273 TraceCheckUtils]: 7: Hoare triple {4155#(= main_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4156#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:35,102 INFO L273 TraceCheckUtils]: 8: Hoare triple {4156#(<= main_~i~0 1)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4156#(<= main_~i~0 1)} is VALID [2018-11-23 12:07:35,102 INFO L273 TraceCheckUtils]: 9: Hoare triple {4156#(<= main_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4157#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:35,104 INFO L273 TraceCheckUtils]: 10: Hoare triple {4157#(<= main_~i~0 2)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4157#(<= main_~i~0 2)} is VALID [2018-11-23 12:07:35,104 INFO L273 TraceCheckUtils]: 11: Hoare triple {4157#(<= main_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4158#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:35,105 INFO L273 TraceCheckUtils]: 12: Hoare triple {4158#(<= main_~i~0 3)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4158#(<= main_~i~0 3)} is VALID [2018-11-23 12:07:35,105 INFO L273 TraceCheckUtils]: 13: Hoare triple {4158#(<= main_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4159#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:35,106 INFO L273 TraceCheckUtils]: 14: Hoare triple {4159#(<= main_~i~0 4)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4159#(<= main_~i~0 4)} is VALID [2018-11-23 12:07:35,106 INFO L273 TraceCheckUtils]: 15: Hoare triple {4159#(<= main_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4160#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:35,108 INFO L273 TraceCheckUtils]: 16: Hoare triple {4160#(<= main_~i~0 5)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4160#(<= main_~i~0 5)} is VALID [2018-11-23 12:07:35,108 INFO L273 TraceCheckUtils]: 17: Hoare triple {4160#(<= main_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4161#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:35,110 INFO L273 TraceCheckUtils]: 18: Hoare triple {4161#(<= main_~i~0 6)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4161#(<= main_~i~0 6)} is VALID [2018-11-23 12:07:35,110 INFO L273 TraceCheckUtils]: 19: Hoare triple {4161#(<= main_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4162#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:35,112 INFO L273 TraceCheckUtils]: 20: Hoare triple {4162#(<= main_~i~0 7)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4162#(<= main_~i~0 7)} is VALID [2018-11-23 12:07:35,112 INFO L273 TraceCheckUtils]: 21: Hoare triple {4162#(<= main_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4163#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:35,114 INFO L273 TraceCheckUtils]: 22: Hoare triple {4163#(<= main_~i~0 8)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4163#(<= main_~i~0 8)} is VALID [2018-11-23 12:07:35,114 INFO L273 TraceCheckUtils]: 23: Hoare triple {4163#(<= main_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4164#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:35,116 INFO L273 TraceCheckUtils]: 24: Hoare triple {4164#(<= main_~i~0 9)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4164#(<= main_~i~0 9)} is VALID [2018-11-23 12:07:35,116 INFO L273 TraceCheckUtils]: 25: Hoare triple {4164#(<= main_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4165#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:35,119 INFO L273 TraceCheckUtils]: 26: Hoare triple {4165#(<= main_~i~0 10)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4165#(<= main_~i~0 10)} is VALID [2018-11-23 12:07:35,119 INFO L273 TraceCheckUtils]: 27: Hoare triple {4165#(<= main_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4166#(<= main_~i~0 11)} is VALID [2018-11-23 12:07:35,119 INFO L273 TraceCheckUtils]: 28: Hoare triple {4166#(<= main_~i~0 11)} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4166#(<= main_~i~0 11)} is VALID [2018-11-23 12:07:35,120 INFO L273 TraceCheckUtils]: 29: Hoare triple {4166#(<= main_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4167#(<= main_~i~0 12)} is VALID [2018-11-23 12:07:35,120 INFO L273 TraceCheckUtils]: 30: Hoare triple {4167#(<= main_~i~0 12)} assume !(~i~0 < 100000); {4154#false} is VALID [2018-11-23 12:07:35,120 INFO L273 TraceCheckUtils]: 31: Hoare triple {4154#false} havoc ~x~0;~x~0 := 0; {4154#false} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 32: Hoare triple {4154#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4154#false} is VALID [2018-11-23 12:07:35,121 INFO L256 TraceCheckUtils]: 33: Hoare triple {4154#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4153#true} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 34: Hoare triple {4153#true} ~cond := #in~cond; {4153#true} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 35: Hoare triple {4153#true} assume !(0 == ~cond); {4153#true} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 36: Hoare triple {4153#true} assume true; {4153#true} is VALID [2018-11-23 12:07:35,121 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4153#true} {4154#false} #53#return; {4154#false} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 38: Hoare triple {4154#false} havoc #t~mem4;havoc #t~mem3; {4154#false} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 39: Hoare triple {4154#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4154#false} is VALID [2018-11-23 12:07:35,121 INFO L273 TraceCheckUtils]: 40: Hoare triple {4154#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4154#false} is VALID [2018-11-23 12:07:35,122 INFO L256 TraceCheckUtils]: 41: Hoare triple {4154#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4153#true} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 42: Hoare triple {4153#true} ~cond := #in~cond; {4153#true} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 43: Hoare triple {4153#true} assume !(0 == ~cond); {4153#true} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 44: Hoare triple {4153#true} assume true; {4153#true} is VALID [2018-11-23 12:07:35,122 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {4153#true} {4154#false} #53#return; {4154#false} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 46: Hoare triple {4154#false} havoc #t~mem4;havoc #t~mem3; {4154#false} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 47: Hoare triple {4154#false} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4154#false} is VALID [2018-11-23 12:07:35,122 INFO L273 TraceCheckUtils]: 48: Hoare triple {4154#false} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4154#false} is VALID [2018-11-23 12:07:35,123 INFO L256 TraceCheckUtils]: 49: Hoare triple {4154#false} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4154#false} is VALID [2018-11-23 12:07:35,123 INFO L273 TraceCheckUtils]: 50: Hoare triple {4154#false} ~cond := #in~cond; {4154#false} is VALID [2018-11-23 12:07:35,123 INFO L273 TraceCheckUtils]: 51: Hoare triple {4154#false} assume 0 == ~cond; {4154#false} is VALID [2018-11-23 12:07:35,123 INFO L273 TraceCheckUtils]: 52: Hoare triple {4154#false} assume !false; {4154#false} is VALID [2018-11-23 12:07:35,125 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 4 proven. 144 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:07:35,126 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:07:35,126 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:07:35,134 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:07:35,164 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:07:35,164 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:07:35,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:07:35,183 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:07:35,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 1 [2018-11-23 12:07:35,230 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,236 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,236 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:15, output treesize:11 [2018-11-23 12:07:35,313 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-11-23 12:07:35,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2018-11-23 12:07:35,322 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,327 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,337 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,338 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:35, output treesize:31 [2018-11-23 12:07:35,438 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 45 [2018-11-23 12:07:35,450 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:35,452 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 55 [2018-11-23 12:07:35,455 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,464 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,477 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,477 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:56, output treesize:52 [2018-11-23 12:07:35,610 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 64 [2018-11-23 12:07:35,622 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:35,623 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:35,624 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:35,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 103 [2018-11-23 12:07:35,632 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,647 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,665 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:35,665 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:80, output treesize:76 [2018-11-23 12:07:38,020 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (let ((.cse0 (select |c_#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|)) (.cse1 (* (- 4) v_main_~i~0_70)) (.cse2 (select |c_#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|)) (.cse3 (* 4 v_main_~i~0_70))) (and (< v_main_~i~0_70 100000) (= (select .cse0 (+ .cse1 400000)) (select .cse2 (+ .cse3 (- 4)))) (<= 99999 v_main_~i~0_70) (= (select .cse0 (+ .cse1 399996)) (select .cse2 .cse3)) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select .cse0 (+ .cse1 400004)) (select .cse2 (+ .cse3 (- 8))))))) is different from true [2018-11-23 12:07:40,295 WARN L854 $PredicateComparison]: unable to prove that (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (let ((.cse0 (select |c_#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|)) (.cse1 (* (- 4) v_main_~i~0_70)) (.cse2 (select |c_#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|)) (.cse3 (* 4 v_main_~i~0_70))) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select .cse0 (+ .cse1 400004)) (select .cse2 (+ .cse3 (- 8)))) (= (select .cse0 (+ .cse1 400000)) (select .cse2 (+ .cse3 (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select .cse0 (+ .cse1 399996)) (select .cse2 .cse3))))) is different from true [2018-11-23 12:07:42,354 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 40 [2018-11-23 12:07:44,424 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 12:07:44,738 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 58 [2018-11-23 12:07:44,751 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:07:44,752 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:44,753 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:44,754 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:07:44,762 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 53 [2018-11-23 12:07:44,765 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:44,780 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:07:44,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:07:44,784 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:07:44,788 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:44,800 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:07:44,800 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:80, output treesize:3 [2018-11-23 12:07:44,804 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:07:44,805 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#b~0.base|, v_main_~i~0_70, |main_~#a~0.base|]. (let ((.cse2 (select |#memory_int| |main_~#a~0.base|)) (.cse3 (* (- 4) v_main_~i~0_70)) (.cse0 (select |#memory_int| |main_~#b~0.base|)) (.cse1 (* 4 v_main_~i~0_70))) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select .cse0 (+ .cse1 (- 4))) (select .cse2 (+ .cse3 400000))) (= (select .cse0 399988) |main_#t~mem4|) (= (select .cse2 8) |main_#t~mem3|) (= (select .cse2 (+ .cse3 400004)) (select .cse0 (+ .cse1 (- 8)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select .cse2 (+ .cse3 399996)) (select .cse0 .cse1)))) [2018-11-23 12:07:44,805 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem4| |main_#t~mem3|) [2018-11-23 12:07:46,875 INFO L256 TraceCheckUtils]: 0: Hoare triple {4153#true} call ULTIMATE.init(); {4153#true} is VALID [2018-11-23 12:07:46,876 INFO L273 TraceCheckUtils]: 1: Hoare triple {4153#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4153#true} is VALID [2018-11-23 12:07:46,876 INFO L273 TraceCheckUtils]: 2: Hoare triple {4153#true} assume true; {4153#true} is VALID [2018-11-23 12:07:46,876 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4153#true} {4153#true} #49#return; {4153#true} is VALID [2018-11-23 12:07:46,876 INFO L256 TraceCheckUtils]: 4: Hoare triple {4153#true} call #t~ret5 := main(); {4153#true} is VALID [2018-11-23 12:07:46,877 INFO L273 TraceCheckUtils]: 5: Hoare triple {4153#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(400000);havoc ~i~0;~i~0 := 0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,877 INFO L273 TraceCheckUtils]: 6: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,878 INFO L273 TraceCheckUtils]: 7: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,878 INFO L273 TraceCheckUtils]: 8: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,879 INFO L273 TraceCheckUtils]: 9: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,880 INFO L273 TraceCheckUtils]: 10: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,880 INFO L273 TraceCheckUtils]: 11: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,881 INFO L273 TraceCheckUtils]: 12: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,882 INFO L273 TraceCheckUtils]: 13: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,883 INFO L273 TraceCheckUtils]: 14: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,884 INFO L273 TraceCheckUtils]: 15: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,885 INFO L273 TraceCheckUtils]: 16: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,885 INFO L273 TraceCheckUtils]: 17: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,886 INFO L273 TraceCheckUtils]: 18: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,887 INFO L273 TraceCheckUtils]: 19: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,888 INFO L273 TraceCheckUtils]: 20: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,889 INFO L273 TraceCheckUtils]: 21: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,889 INFO L273 TraceCheckUtils]: 22: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,890 INFO L273 TraceCheckUtils]: 23: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,892 INFO L273 TraceCheckUtils]: 24: Hoare triple {4186#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4244#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,893 INFO L273 TraceCheckUtils]: 25: Hoare triple {4244#(and (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4248#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,895 INFO L273 TraceCheckUtils]: 26: Hoare triple {4248#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4252#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,897 INFO L273 TraceCheckUtils]: 27: Hoare triple {4252#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4256#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,899 INFO L273 TraceCheckUtils]: 28: Hoare triple {4256#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < 100000);call #t~mem1 := read~int(~#a~0.base, ~#a~0.offset + 4 * (100000 - ~i~0 - 1), 4);call write~int(#t~mem1, ~#b~0.base, ~#b~0.offset + 4 * ~i~0, 4);havoc #t~mem1; {4260#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,901 INFO L273 TraceCheckUtils]: 29: Hoare triple {4260#(and (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 400000))) (< main_~i~0 100000) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) main_~i~0) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= |main_~#a~0.offset| 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4264#(and (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= main_~i~0 (+ v_main_~i~0_70 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,904 INFO L273 TraceCheckUtils]: 30: Hoare triple {4264#(and (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= main_~i~0 (+ v_main_~i~0_70 1)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (= |main_~#b~0.offset| 0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < 100000); {4268#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,905 INFO L273 TraceCheckUtils]: 31: Hoare triple {4268#(and (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc ~x~0;~x~0 := 0; {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,906 INFO L273 TraceCheckUtils]: 32: Hoare triple {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,909 INFO L256 TraceCheckUtils]: 33: Hoare triple {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} is VALID [2018-11-23 12:07:46,910 INFO L273 TraceCheckUtils]: 34: Hoare triple {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} ~cond := #in~cond; {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} is VALID [2018-11-23 12:07:46,911 INFO L273 TraceCheckUtils]: 35: Hoare triple {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} assume !(0 == ~cond); {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} is VALID [2018-11-23 12:07:46,912 INFO L273 TraceCheckUtils]: 36: Hoare triple {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} assume true; {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} is VALID [2018-11-23 12:07:46,913 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4279#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_2| Int) (|v_main_~#b~0.base_BEFORE_CALL_2| Int)) (and (< v_main_~i~0_70 100000) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 4)))) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (* 4 v_main_~i~0_70))) (not (= |v_main_~#b~0.base_BEFORE_CALL_2| |v_main_~#a~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_2|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_2|) (+ (* 4 v_main_~i~0_70) (- 8))))))} {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #53#return; {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,914 INFO L273 TraceCheckUtils]: 38: Hoare triple {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc #t~mem4;havoc #t~mem3; {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,916 INFO L273 TraceCheckUtils]: 39: Hoare triple {4272#(and (= main_~x~0 0) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,918 INFO L273 TraceCheckUtils]: 40: Hoare triple {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,922 INFO L256 TraceCheckUtils]: 41: Hoare triple {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4305#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70)))))} is VALID [2018-11-23 12:07:46,924 INFO L273 TraceCheckUtils]: 42: Hoare triple {4305#(exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70)))))} ~cond := #in~cond; {4309#(and (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 12:07:46,925 INFO L273 TraceCheckUtils]: 43: Hoare triple {4309#(and (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {4313#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))))} is VALID [2018-11-23 12:07:46,925 INFO L273 TraceCheckUtils]: 44: Hoare triple {4313#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))))} assume true; {4313#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))))} is VALID [2018-11-23 12:07:46,926 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {4313#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((v_main_~i~0_70 Int) (|v_main_~#a~0.base_BEFORE_CALL_3| Int) (|v_main_~#b~0.base_BEFORE_CALL_3| Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400004)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 8)))) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 400000)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (+ (* 4 v_main_~i~0_70) (- 4)))) (not (= |v_main_~#b~0.base_BEFORE_CALL_3| |v_main_~#a~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_3|) (+ (* (- 4) v_main_~i~0_70) 399996)) (select (select |#memory_int| |v_main_~#b~0.base_BEFORE_CALL_3|) (* 4 v_main_~i~0_70))))))} {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #53#return; {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,928 INFO L273 TraceCheckUtils]: 46: Hoare triple {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} havoc #t~mem4;havoc #t~mem3; {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,930 INFO L273 TraceCheckUtils]: 47: Hoare triple {4298#(and (= main_~x~0 1) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4326#(and (= main_~x~0 2) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:07:46,932 INFO L273 TraceCheckUtils]: 48: Hoare triple {4326#(and (= main_~x~0 2) (= |main_~#b~0.offset| 0) (exists ((v_main_~i~0_70 Int)) (and (< v_main_~i~0_70 100000) (<= 99999 v_main_~i~0_70) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 399996)) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset|))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400004))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 v_main_~i~0_70) |main_~#b~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* (- 4) v_main_~i~0_70) |main_~#a~0.offset| 400000))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~x~0 < 100000);call #t~mem3 := read~int(~#a~0.base, ~#a~0.offset + 4 * ~x~0, 4);call #t~mem4 := read~int(~#b~0.base, ~#b~0.offset + 4 * (100000 - ~x~0 - 1), 4); {4330#(= |main_#t~mem4| |main_#t~mem3|)} is VALID [2018-11-23 12:07:46,933 INFO L256 TraceCheckUtils]: 49: Hoare triple {4330#(= |main_#t~mem4| |main_#t~mem3|)} call __VERIFIER_assert((if #t~mem3 == #t~mem4 then 1 else 0)); {4334#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:07:46,934 INFO L273 TraceCheckUtils]: 50: Hoare triple {4334#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {4338#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:07:46,935 INFO L273 TraceCheckUtils]: 51: Hoare triple {4338#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4154#false} is VALID [2018-11-23 12:07:46,935 INFO L273 TraceCheckUtils]: 52: Hoare triple {4154#false} assume !false; {4154#false} is VALID [2018-11-23 12:07:46,955 INFO L134 CoverageAnalysis]: Checked inductivity of 160 backedges. 61 proven. 11 refuted. 0 times theorem prover too weak. 81 trivial. 7 not checked. [2018-11-23 12:07:46,974 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:07:46,974 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 20] total 33 [2018-11-23 12:07:46,975 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 53 [2018-11-23 12:07:46,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:07:46,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 12:07:47,087 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:07:47,088 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 12:07:47,088 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 12:07:47,089 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=162, Invalid=773, Unknown=3, NotChecked=118, Total=1056 [2018-11-23 12:07:47,089 INFO L87 Difference]: Start difference. First operand 56 states and 57 transitions. Second operand 33 states. [2018-11-23 12:09:17,455 WARN L180 SmtUtils]: Spent 4.02 s on a formula simplification. DAG size of input: 60 DAG size of output: 40 [2018-11-23 12:09:21,618 WARN L180 SmtUtils]: Spent 4.03 s on a formula simplification. DAG size of input: 63 DAG size of output: 42