java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/array-tiling/revcpyswp2_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:52:52,861 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:52:52,863 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:52:52,874 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:52:52,875 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:52:52,876 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:52:52,877 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:52:52,879 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:52:52,881 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:52:52,882 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:52:52,882 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:52:52,883 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:52:52,884 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:52:52,885 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:52:52,886 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:52:52,887 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:52:52,888 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:52:52,890 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:52:52,892 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:52:52,893 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:52:52,894 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:52:52,896 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:52:52,898 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:52:52,899 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:52:52,899 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:52:52,900 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:52:52,901 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:52:52,902 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:52:52,903 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:52:52,904 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:52:52,904 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:52:52,905 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:52:52,905 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:52:52,906 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:52:52,907 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:52:52,908 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:52:52,908 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:52:52,924 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:52:52,924 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:52:52,925 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:52:52,925 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:52:52,926 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:52:52,926 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:52:52,927 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:52:52,927 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:52:52,927 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:52:52,927 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:52:52,928 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:52:52,928 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:52:52,928 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:52:52,928 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:52:52,929 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:52:52,929 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:52:52,929 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:52:52,929 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:52:52,930 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:52:52,930 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:52:52,930 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:52:52,930 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:52:52,931 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:52:52,931 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:52:52,931 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:52:52,931 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:52:52,932 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:52:52,932 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:52:52,932 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:52:52,932 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:52:52,932 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:52:52,982 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:52:52,997 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:52:53,002 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:52:53,003 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:52:53,004 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:52:53,005 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/revcpyswp2_true-unreach-call.i [2018-11-14 18:52:53,085 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5f69d388f/d6a0dc9dea764666a502b3978e84f91d/FLAG893d4b73d [2018-11-14 18:52:53,570 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:52:53,571 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/revcpyswp2_true-unreach-call.i [2018-11-14 18:52:53,577 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5f69d388f/d6a0dc9dea764666a502b3978e84f91d/FLAG893d4b73d [2018-11-14 18:52:53,595 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5f69d388f/d6a0dc9dea764666a502b3978e84f91d [2018-11-14 18:52:53,605 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:52:53,606 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:52:53,608 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:52:53,608 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:52:53,612 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:52:53,613 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,616 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3cd3974d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53, skipping insertion in model container [2018-11-14 18:52:53,616 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,627 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:52:53,650 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:52:53,858 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:52:53,863 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:52:53,895 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:52:53,918 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:52:53,918 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53 WrapperNode [2018-11-14 18:52:53,918 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:52:53,919 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:52:53,920 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:52:53,920 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:52:53,935 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,935 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,946 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,946 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,963 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,979 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,982 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... [2018-11-14 18:52:53,984 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:52:53,989 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:52:53,989 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:52:53,989 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:52:53,990 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:52:54,150 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:52:54,151 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:52:54,151 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 18:52:54,151 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:52:54,151 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:52:54,151 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assume [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:52:54,152 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:52:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:52:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:52:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:52:54,153 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:52:55,092 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:52:55,093 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:52:55 BoogieIcfgContainer [2018-11-14 18:52:55,093 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:52:55,094 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:52:55,094 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:52:55,097 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:52:55,098 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:52:53" (1/3) ... [2018-11-14 18:52:55,099 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6efebd2e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:52:55, skipping insertion in model container [2018-11-14 18:52:55,099 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:52:53" (2/3) ... [2018-11-14 18:52:55,099 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6efebd2e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:52:55, skipping insertion in model container [2018-11-14 18:52:55,099 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:52:55" (3/3) ... [2018-11-14 18:52:55,101 INFO L112 eAbstractionObserver]: Analyzing ICFG revcpyswp2_true-unreach-call.i [2018-11-14 18:52:55,111 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:52:55,120 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:52:55,137 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:52:55,170 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:52:55,171 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:52:55,171 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:52:55,171 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:52:55,172 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:52:55,172 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:52:55,172 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:52:55,172 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:52:55,172 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:52:55,192 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-14 18:52:55,199 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-14 18:52:55,199 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:55,200 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:55,203 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:55,209 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:55,209 INFO L82 PathProgramCache]: Analyzing trace with hash 721809273, now seen corresponding path program 1 times [2018-11-14 18:52:55,211 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:55,212 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:55,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:55,262 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:55,262 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:55,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:55,366 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-14 18:52:55,370 INFO L273 TraceCheckUtils]: 1: Hoare triple {39#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {39#true} is VALID [2018-11-14 18:52:55,370 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:52:55,371 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #88#return; {39#true} is VALID [2018-11-14 18:52:55,371 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret14 := main(); {39#true} is VALID [2018-11-14 18:52:55,371 INFO L273 TraceCheckUtils]: 5: Hoare triple {39#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {39#true} is VALID [2018-11-14 18:52:55,372 INFO L273 TraceCheckUtils]: 6: Hoare triple {39#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {39#true} is VALID [2018-11-14 18:52:55,373 INFO L273 TraceCheckUtils]: 7: Hoare triple {39#true} assume !true; {40#false} is VALID [2018-11-14 18:52:55,373 INFO L273 TraceCheckUtils]: 8: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-14 18:52:55,373 INFO L273 TraceCheckUtils]: 9: Hoare triple {40#false} assume !true; {40#false} is VALID [2018-11-14 18:52:55,374 INFO L273 TraceCheckUtils]: 10: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-14 18:52:55,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {40#false} assume !true; {40#false} is VALID [2018-11-14 18:52:55,374 INFO L273 TraceCheckUtils]: 12: Hoare triple {40#false} ~i~0 := 0; {40#false} is VALID [2018-11-14 18:52:55,375 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} assume true; {40#false} is VALID [2018-11-14 18:52:55,375 INFO L273 TraceCheckUtils]: 14: Hoare triple {40#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {40#false} is VALID [2018-11-14 18:52:55,375 INFO L256 TraceCheckUtils]: 15: Hoare triple {40#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {40#false} is VALID [2018-11-14 18:52:55,376 INFO L273 TraceCheckUtils]: 16: Hoare triple {40#false} ~cond := #in~cond; {40#false} is VALID [2018-11-14 18:52:55,376 INFO L273 TraceCheckUtils]: 17: Hoare triple {40#false} assume ~cond == 0; {40#false} is VALID [2018-11-14 18:52:55,376 INFO L273 TraceCheckUtils]: 18: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-14 18:52:55,380 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:55,383 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:52:55,383 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:52:55,388 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-14 18:52:55,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:55,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:52:55,483 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:55,483 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:52:55,491 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:52:55,492 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:52:55,494 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 2 states. [2018-11-14 18:52:55,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:55,638 INFO L93 Difference]: Finished difference Result 62 states and 78 transitions. [2018-11-14 18:52:55,639 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:52:55,639 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-14 18:52:55,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:55,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:52:55,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-14 18:52:55,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:52:55,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2018-11-14 18:52:55,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 78 transitions. [2018-11-14 18:52:55,946 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:55,959 INFO L225 Difference]: With dead ends: 62 [2018-11-14 18:52:55,959 INFO L226 Difference]: Without dead ends: 30 [2018-11-14 18:52:55,963 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:52:55,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-14 18:52:56,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2018-11-14 18:52:56,018 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:56,018 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:56,019 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:56,019 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:56,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:56,024 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2018-11-14 18:52:56,025 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-14 18:52:56,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:56,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:56,026 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:56,026 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 30 states. [2018-11-14 18:52:56,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:56,031 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2018-11-14 18:52:56,031 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-14 18:52:56,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:56,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:56,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:56,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:56,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-14 18:52:56,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 33 transitions. [2018-11-14 18:52:56,038 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 33 transitions. Word has length 19 [2018-11-14 18:52:56,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:56,039 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 33 transitions. [2018-11-14 18:52:56,039 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:52:56,039 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-14 18:52:56,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-14 18:52:56,040 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:56,041 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:56,041 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:56,041 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:56,042 INFO L82 PathProgramCache]: Analyzing trace with hash -432097696, now seen corresponding path program 1 times [2018-11-14 18:52:56,042 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:56,042 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:56,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:56,043 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:56,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:56,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:56,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {220#true} call ULTIMATE.init(); {220#true} is VALID [2018-11-14 18:52:56,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {220#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {220#true} is VALID [2018-11-14 18:52:56,196 INFO L273 TraceCheckUtils]: 2: Hoare triple {220#true} assume true; {220#true} is VALID [2018-11-14 18:52:56,196 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {220#true} {220#true} #88#return; {220#true} is VALID [2018-11-14 18:52:56,197 INFO L256 TraceCheckUtils]: 4: Hoare triple {220#true} call #t~ret14 := main(); {220#true} is VALID [2018-11-14 18:52:56,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {220#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {220#true} is VALID [2018-11-14 18:52:56,199 INFO L273 TraceCheckUtils]: 6: Hoare triple {220#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {222#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:56,203 INFO L273 TraceCheckUtils]: 7: Hoare triple {222#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {222#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:56,205 INFO L273 TraceCheckUtils]: 8: Hoare triple {222#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !(~i~0 < ~SIZE~0); {221#false} is VALID [2018-11-14 18:52:56,205 INFO L273 TraceCheckUtils]: 9: Hoare triple {221#false} ~i~0 := 0; {221#false} is VALID [2018-11-14 18:52:56,205 INFO L273 TraceCheckUtils]: 10: Hoare triple {221#false} assume true; {221#false} is VALID [2018-11-14 18:52:56,206 INFO L273 TraceCheckUtils]: 11: Hoare triple {221#false} assume !(~i~0 < ~SIZE~0); {221#false} is VALID [2018-11-14 18:52:56,206 INFO L273 TraceCheckUtils]: 12: Hoare triple {221#false} ~i~0 := 0; {221#false} is VALID [2018-11-14 18:52:56,206 INFO L273 TraceCheckUtils]: 13: Hoare triple {221#false} assume true; {221#false} is VALID [2018-11-14 18:52:56,207 INFO L273 TraceCheckUtils]: 14: Hoare triple {221#false} assume !(~i~0 < ~SIZE~0); {221#false} is VALID [2018-11-14 18:52:56,207 INFO L273 TraceCheckUtils]: 15: Hoare triple {221#false} ~i~0 := 0; {221#false} is VALID [2018-11-14 18:52:56,207 INFO L273 TraceCheckUtils]: 16: Hoare triple {221#false} assume true; {221#false} is VALID [2018-11-14 18:52:56,208 INFO L273 TraceCheckUtils]: 17: Hoare triple {221#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {221#false} is VALID [2018-11-14 18:52:56,208 INFO L256 TraceCheckUtils]: 18: Hoare triple {221#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {221#false} is VALID [2018-11-14 18:52:56,208 INFO L273 TraceCheckUtils]: 19: Hoare triple {221#false} ~cond := #in~cond; {221#false} is VALID [2018-11-14 18:52:56,208 INFO L273 TraceCheckUtils]: 20: Hoare triple {221#false} assume ~cond == 0; {221#false} is VALID [2018-11-14 18:52:56,209 INFO L273 TraceCheckUtils]: 21: Hoare triple {221#false} assume !false; {221#false} is VALID [2018-11-14 18:52:56,211 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:56,212 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:52:56,213 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:52:56,215 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 22 [2018-11-14 18:52:56,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:56,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:52:56,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:56,259 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:52:56,259 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:52:56,260 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:52:56,260 INFO L87 Difference]: Start difference. First operand 30 states and 33 transitions. Second operand 3 states. [2018-11-14 18:52:56,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:56,919 INFO L93 Difference]: Finished difference Result 53 states and 59 transitions. [2018-11-14 18:52:56,919 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:52:56,919 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 22 [2018-11-14 18:52:56,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:56,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:52:56,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 59 transitions. [2018-11-14 18:52:56,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:52:56,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 59 transitions. [2018-11-14 18:52:56,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 59 transitions. [2018-11-14 18:52:57,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:57,040 INFO L225 Difference]: With dead ends: 53 [2018-11-14 18:52:57,040 INFO L226 Difference]: Without dead ends: 33 [2018-11-14 18:52:57,042 INFO L604 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-14 18:52:57,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-14 18:52:57,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2018-11-14 18:52:57,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:57,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 32 states. [2018-11-14 18:52:57,060 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 32 states. [2018-11-14 18:52:57,060 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 32 states. [2018-11-14 18:52:57,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:57,063 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2018-11-14 18:52:57,063 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-14 18:52:57,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:57,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:57,064 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 33 states. [2018-11-14 18:52:57,065 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 33 states. [2018-11-14 18:52:57,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:57,068 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2018-11-14 18:52:57,068 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-14 18:52:57,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:57,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:57,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:57,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:57,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-14 18:52:57,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2018-11-14 18:52:57,072 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 22 [2018-11-14 18:52:57,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:57,072 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2018-11-14 18:52:57,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:52:57,073 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2018-11-14 18:52:57,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-14 18:52:57,074 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:57,074 INFO L375 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:57,074 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:57,075 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:57,075 INFO L82 PathProgramCache]: Analyzing trace with hash 1859650504, now seen corresponding path program 1 times [2018-11-14 18:52:57,075 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:57,075 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:57,076 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:57,076 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:57,077 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:57,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:57,212 INFO L256 TraceCheckUtils]: 0: Hoare triple {403#true} call ULTIMATE.init(); {403#true} is VALID [2018-11-14 18:52:57,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {403#true} is VALID [2018-11-14 18:52:57,213 INFO L273 TraceCheckUtils]: 2: Hoare triple {403#true} assume true; {403#true} is VALID [2018-11-14 18:52:57,214 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {403#true} {403#true} #88#return; {403#true} is VALID [2018-11-14 18:52:57,214 INFO L256 TraceCheckUtils]: 4: Hoare triple {403#true} call #t~ret14 := main(); {403#true} is VALID [2018-11-14 18:52:57,214 INFO L273 TraceCheckUtils]: 5: Hoare triple {403#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {403#true} is VALID [2018-11-14 18:52:57,231 INFO L273 TraceCheckUtils]: 6: Hoare triple {403#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:57,232 INFO L273 TraceCheckUtils]: 7: Hoare triple {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:57,235 INFO L273 TraceCheckUtils]: 8: Hoare triple {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:57,236 INFO L273 TraceCheckUtils]: 9: Hoare triple {405#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {406#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:52:57,242 INFO L273 TraceCheckUtils]: 10: Hoare triple {406#(<= (+ main_~i~0 1) ~SIZE~0)} assume true; {406#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:52:57,243 INFO L273 TraceCheckUtils]: 11: Hoare triple {406#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,243 INFO L273 TraceCheckUtils]: 12: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,243 INFO L273 TraceCheckUtils]: 13: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,243 INFO L273 TraceCheckUtils]: 14: Hoare triple {404#false} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,244 INFO L273 TraceCheckUtils]: 15: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,244 INFO L273 TraceCheckUtils]: 16: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,244 INFO L273 TraceCheckUtils]: 17: Hoare triple {404#false} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,244 INFO L273 TraceCheckUtils]: 18: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,245 INFO L273 TraceCheckUtils]: 19: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,245 INFO L273 TraceCheckUtils]: 20: Hoare triple {404#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {404#false} is VALID [2018-11-14 18:52:57,245 INFO L256 TraceCheckUtils]: 21: Hoare triple {404#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {404#false} is VALID [2018-11-14 18:52:57,245 INFO L273 TraceCheckUtils]: 22: Hoare triple {404#false} ~cond := #in~cond; {404#false} is VALID [2018-11-14 18:52:57,246 INFO L273 TraceCheckUtils]: 23: Hoare triple {404#false} assume ~cond == 0; {404#false} is VALID [2018-11-14 18:52:57,246 INFO L273 TraceCheckUtils]: 24: Hoare triple {404#false} assume !false; {404#false} is VALID [2018-11-14 18:52:57,249 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:57,249 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:57,249 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:57,259 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:57,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:57,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:57,324 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:57,517 INFO L256 TraceCheckUtils]: 0: Hoare triple {403#true} call ULTIMATE.init(); {403#true} is VALID [2018-11-14 18:52:57,518 INFO L273 TraceCheckUtils]: 1: Hoare triple {403#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {403#true} is VALID [2018-11-14 18:52:57,518 INFO L273 TraceCheckUtils]: 2: Hoare triple {403#true} assume true; {403#true} is VALID [2018-11-14 18:52:57,518 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {403#true} {403#true} #88#return; {403#true} is VALID [2018-11-14 18:52:57,519 INFO L256 TraceCheckUtils]: 4: Hoare triple {403#true} call #t~ret14 := main(); {403#true} is VALID [2018-11-14 18:52:57,519 INFO L273 TraceCheckUtils]: 5: Hoare triple {403#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {403#true} is VALID [2018-11-14 18:52:57,528 INFO L273 TraceCheckUtils]: 6: Hoare triple {403#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} is VALID [2018-11-14 18:52:57,529 INFO L273 TraceCheckUtils]: 7: Hoare triple {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} assume true; {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} is VALID [2018-11-14 18:52:57,530 INFO L273 TraceCheckUtils]: 8: Hoare triple {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} is VALID [2018-11-14 18:52:57,531 INFO L273 TraceCheckUtils]: 9: Hoare triple {428#(and (< 1 ~SIZE~0) (<= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {438#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:52:57,531 INFO L273 TraceCheckUtils]: 10: Hoare triple {438#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} assume true; {438#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} is VALID [2018-11-14 18:52:57,537 INFO L273 TraceCheckUtils]: 11: Hoare triple {438#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,538 INFO L273 TraceCheckUtils]: 12: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,538 INFO L273 TraceCheckUtils]: 13: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,538 INFO L273 TraceCheckUtils]: 14: Hoare triple {404#false} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,539 INFO L273 TraceCheckUtils]: 15: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,539 INFO L273 TraceCheckUtils]: 16: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,539 INFO L273 TraceCheckUtils]: 17: Hoare triple {404#false} assume !(~i~0 < ~SIZE~0); {404#false} is VALID [2018-11-14 18:52:57,540 INFO L273 TraceCheckUtils]: 18: Hoare triple {404#false} ~i~0 := 0; {404#false} is VALID [2018-11-14 18:52:57,540 INFO L273 TraceCheckUtils]: 19: Hoare triple {404#false} assume true; {404#false} is VALID [2018-11-14 18:52:57,540 INFO L273 TraceCheckUtils]: 20: Hoare triple {404#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {404#false} is VALID [2018-11-14 18:52:57,541 INFO L256 TraceCheckUtils]: 21: Hoare triple {404#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {404#false} is VALID [2018-11-14 18:52:57,541 INFO L273 TraceCheckUtils]: 22: Hoare triple {404#false} ~cond := #in~cond; {404#false} is VALID [2018-11-14 18:52:57,541 INFO L273 TraceCheckUtils]: 23: Hoare triple {404#false} assume ~cond == 0; {404#false} is VALID [2018-11-14 18:52:57,541 INFO L273 TraceCheckUtils]: 24: Hoare triple {404#false} assume !false; {404#false} is VALID [2018-11-14 18:52:57,543 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:52:57,565 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:57,565 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-14 18:52:57,566 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2018-11-14 18:52:57,569 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:57,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:52:57,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:57,725 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:52:57,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:52:57,726 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:52:57,726 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand 6 states. [2018-11-14 18:52:58,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:58,269 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2018-11-14 18:52:58,269 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:52:58,270 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 25 [2018-11-14 18:52:58,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:58,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:52:58,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-14 18:52:58,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:52:58,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-14 18:52:58,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2018-11-14 18:52:58,391 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:58,394 INFO L225 Difference]: With dead ends: 56 [2018-11-14 18:52:58,394 INFO L226 Difference]: Without dead ends: 36 [2018-11-14 18:52:58,396 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:52:58,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-14 18:52:58,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 35. [2018-11-14 18:52:58,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:58,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 35 states. [2018-11-14 18:52:58,429 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 35 states. [2018-11-14 18:52:58,429 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 35 states. [2018-11-14 18:52:58,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:58,432 INFO L93 Difference]: Finished difference Result 36 states and 39 transitions. [2018-11-14 18:52:58,432 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2018-11-14 18:52:58,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:58,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:58,433 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 36 states. [2018-11-14 18:52:58,433 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 36 states. [2018-11-14 18:52:58,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:58,436 INFO L93 Difference]: Finished difference Result 36 states and 39 transitions. [2018-11-14 18:52:58,436 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 39 transitions. [2018-11-14 18:52:58,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:58,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:58,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:58,438 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:58,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-14 18:52:58,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2018-11-14 18:52:58,440 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 25 [2018-11-14 18:52:58,440 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:58,441 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2018-11-14 18:52:58,441 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:52:58,441 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2018-11-14 18:52:58,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-14 18:52:58,442 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:58,442 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:58,442 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:58,443 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:58,443 INFO L82 PathProgramCache]: Analyzing trace with hash -1764827808, now seen corresponding path program 2 times [2018-11-14 18:52:58,443 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:58,443 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:58,444 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:58,444 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:58,445 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:58,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:58,573 INFO L256 TraceCheckUtils]: 0: Hoare triple {675#true} call ULTIMATE.init(); {675#true} is VALID [2018-11-14 18:52:58,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {675#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {675#true} is VALID [2018-11-14 18:52:58,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {675#true} assume true; {675#true} is VALID [2018-11-14 18:52:58,575 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {675#true} {675#true} #88#return; {675#true} is VALID [2018-11-14 18:52:58,575 INFO L256 TraceCheckUtils]: 4: Hoare triple {675#true} call #t~ret14 := main(); {675#true} is VALID [2018-11-14 18:52:58,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {675#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {675#true} is VALID [2018-11-14 18:52:58,577 INFO L273 TraceCheckUtils]: 6: Hoare triple {675#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,578 INFO L273 TraceCheckUtils]: 7: Hoare triple {677#(<= 2 ~SIZE~0)} assume true; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,579 INFO L273 TraceCheckUtils]: 8: Hoare triple {677#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,580 INFO L273 TraceCheckUtils]: 9: Hoare triple {677#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,581 INFO L273 TraceCheckUtils]: 10: Hoare triple {677#(<= 2 ~SIZE~0)} assume true; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,584 INFO L273 TraceCheckUtils]: 11: Hoare triple {677#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,585 INFO L273 TraceCheckUtils]: 12: Hoare triple {677#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,587 INFO L273 TraceCheckUtils]: 13: Hoare triple {677#(<= 2 ~SIZE~0)} assume true; {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,587 INFO L273 TraceCheckUtils]: 14: Hoare triple {677#(<= 2 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {677#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:58,592 INFO L273 TraceCheckUtils]: 15: Hoare triple {677#(<= 2 ~SIZE~0)} ~i~0 := 0; {678#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:58,593 INFO L273 TraceCheckUtils]: 16: Hoare triple {678#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {678#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:58,593 INFO L273 TraceCheckUtils]: 17: Hoare triple {678#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !(~i~0 < ~SIZE~0); {676#false} is VALID [2018-11-14 18:52:58,594 INFO L273 TraceCheckUtils]: 18: Hoare triple {676#false} ~i~0 := 0; {676#false} is VALID [2018-11-14 18:52:58,594 INFO L273 TraceCheckUtils]: 19: Hoare triple {676#false} assume true; {676#false} is VALID [2018-11-14 18:52:58,594 INFO L273 TraceCheckUtils]: 20: Hoare triple {676#false} assume !(~i~0 < ~SIZE~0); {676#false} is VALID [2018-11-14 18:52:58,595 INFO L273 TraceCheckUtils]: 21: Hoare triple {676#false} ~i~0 := 0; {676#false} is VALID [2018-11-14 18:52:58,595 INFO L273 TraceCheckUtils]: 22: Hoare triple {676#false} assume true; {676#false} is VALID [2018-11-14 18:52:58,595 INFO L273 TraceCheckUtils]: 23: Hoare triple {676#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {676#false} is VALID [2018-11-14 18:52:58,595 INFO L256 TraceCheckUtils]: 24: Hoare triple {676#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {676#false} is VALID [2018-11-14 18:52:58,596 INFO L273 TraceCheckUtils]: 25: Hoare triple {676#false} ~cond := #in~cond; {676#false} is VALID [2018-11-14 18:52:58,596 INFO L273 TraceCheckUtils]: 26: Hoare triple {676#false} assume ~cond == 0; {676#false} is VALID [2018-11-14 18:52:58,596 INFO L273 TraceCheckUtils]: 27: Hoare triple {676#false} assume !false; {676#false} is VALID [2018-11-14 18:52:58,598 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-14 18:52:58,598 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:52:58,598 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 18:52:58,599 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2018-11-14 18:52:58,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:58,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:52:58,633 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:58,633 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:52:58,633 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:52:58,633 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:52:58,634 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand 4 states. [2018-11-14 18:52:58,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:58,914 INFO L93 Difference]: Finished difference Result 62 states and 69 transitions. [2018-11-14 18:52:58,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:52:58,914 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 28 [2018-11-14 18:52:58,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:52:58,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:52:58,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-14 18:52:58,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:52:58,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2018-11-14 18:52:58,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2018-11-14 18:52:59,021 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:59,023 INFO L225 Difference]: With dead ends: 62 [2018-11-14 18:52:59,023 INFO L226 Difference]: Without dead ends: 46 [2018-11-14 18:52:59,024 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:52:59,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-14 18:52:59,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 39. [2018-11-14 18:52:59,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:52:59,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 39 states. [2018-11-14 18:52:59,088 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 39 states. [2018-11-14 18:52:59,088 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 39 states. [2018-11-14 18:52:59,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:59,092 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2018-11-14 18:52:59,092 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-14 18:52:59,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:59,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:59,093 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 46 states. [2018-11-14 18:52:59,093 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 46 states. [2018-11-14 18:52:59,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:52:59,096 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2018-11-14 18:52:59,096 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2018-11-14 18:52:59,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:52:59,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:52:59,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:52:59,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:52:59,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-14 18:52:59,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2018-11-14 18:52:59,100 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 28 [2018-11-14 18:52:59,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:52:59,100 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2018-11-14 18:52:59,100 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:52:59,101 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2018-11-14 18:52:59,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-14 18:52:59,102 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:52:59,102 INFO L375 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:52:59,102 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:52:59,102 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:52:59,103 INFO L82 PathProgramCache]: Analyzing trace with hash -618678275, now seen corresponding path program 1 times [2018-11-14 18:52:59,103 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:52:59,103 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:52:59,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:59,104 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:52:59,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:52:59,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:59,257 INFO L256 TraceCheckUtils]: 0: Hoare triple {908#true} call ULTIMATE.init(); {908#true} is VALID [2018-11-14 18:52:59,258 INFO L273 TraceCheckUtils]: 1: Hoare triple {908#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {908#true} is VALID [2018-11-14 18:52:59,258 INFO L273 TraceCheckUtils]: 2: Hoare triple {908#true} assume true; {908#true} is VALID [2018-11-14 18:52:59,258 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {908#true} {908#true} #88#return; {908#true} is VALID [2018-11-14 18:52:59,259 INFO L256 TraceCheckUtils]: 4: Hoare triple {908#true} call #t~ret14 := main(); {908#true} is VALID [2018-11-14 18:52:59,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {908#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {908#true} is VALID [2018-11-14 18:52:59,274 INFO L273 TraceCheckUtils]: 6: Hoare triple {908#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,277 INFO L273 TraceCheckUtils]: 7: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,278 INFO L273 TraceCheckUtils]: 8: Hoare triple {910#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,281 INFO L273 TraceCheckUtils]: 9: Hoare triple {910#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,281 INFO L273 TraceCheckUtils]: 10: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,283 INFO L273 TraceCheckUtils]: 11: Hoare triple {910#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,283 INFO L273 TraceCheckUtils]: 12: Hoare triple {910#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,286 INFO L273 TraceCheckUtils]: 13: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,286 INFO L273 TraceCheckUtils]: 14: Hoare triple {910#(<= 2 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,289 INFO L273 TraceCheckUtils]: 15: Hoare triple {910#(<= 2 ~SIZE~0)} ~i~0 := 0; {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:59,289 INFO L273 TraceCheckUtils]: 16: Hoare triple {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume true; {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:59,292 INFO L273 TraceCheckUtils]: 17: Hoare triple {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:52:59,293 INFO L273 TraceCheckUtils]: 18: Hoare triple {911#(and (<= 2 ~SIZE~0) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {912#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:52:59,293 INFO L273 TraceCheckUtils]: 19: Hoare triple {912#(<= (+ main_~i~0 1) ~SIZE~0)} assume true; {912#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:52:59,294 INFO L273 TraceCheckUtils]: 20: Hoare triple {912#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {909#false} is VALID [2018-11-14 18:52:59,295 INFO L273 TraceCheckUtils]: 21: Hoare triple {909#false} ~i~0 := 0; {909#false} is VALID [2018-11-14 18:52:59,295 INFO L273 TraceCheckUtils]: 22: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,295 INFO L273 TraceCheckUtils]: 23: Hoare triple {909#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {909#false} is VALID [2018-11-14 18:52:59,296 INFO L273 TraceCheckUtils]: 24: Hoare triple {909#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {909#false} is VALID [2018-11-14 18:52:59,296 INFO L273 TraceCheckUtils]: 25: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,296 INFO L273 TraceCheckUtils]: 26: Hoare triple {909#false} assume !(~i~0 < ~SIZE~0); {909#false} is VALID [2018-11-14 18:52:59,297 INFO L273 TraceCheckUtils]: 27: Hoare triple {909#false} ~i~0 := 0; {909#false} is VALID [2018-11-14 18:52:59,297 INFO L273 TraceCheckUtils]: 28: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,297 INFO L273 TraceCheckUtils]: 29: Hoare triple {909#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {909#false} is VALID [2018-11-14 18:52:59,298 INFO L256 TraceCheckUtils]: 30: Hoare triple {909#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {909#false} is VALID [2018-11-14 18:52:59,298 INFO L273 TraceCheckUtils]: 31: Hoare triple {909#false} ~cond := #in~cond; {909#false} is VALID [2018-11-14 18:52:59,298 INFO L273 TraceCheckUtils]: 32: Hoare triple {909#false} assume ~cond == 0; {909#false} is VALID [2018-11-14 18:52:59,298 INFO L273 TraceCheckUtils]: 33: Hoare triple {909#false} assume !false; {909#false} is VALID [2018-11-14 18:52:59,301 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-14 18:52:59,301 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:52:59,302 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:52:59,319 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:52:59,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:59,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:52:59,365 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:52:59,701 INFO L256 TraceCheckUtils]: 0: Hoare triple {908#true} call ULTIMATE.init(); {908#true} is VALID [2018-11-14 18:52:59,702 INFO L273 TraceCheckUtils]: 1: Hoare triple {908#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {908#true} is VALID [2018-11-14 18:52:59,702 INFO L273 TraceCheckUtils]: 2: Hoare triple {908#true} assume true; {908#true} is VALID [2018-11-14 18:52:59,702 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {908#true} {908#true} #88#return; {908#true} is VALID [2018-11-14 18:52:59,703 INFO L256 TraceCheckUtils]: 4: Hoare triple {908#true} call #t~ret14 := main(); {908#true} is VALID [2018-11-14 18:52:59,703 INFO L273 TraceCheckUtils]: 5: Hoare triple {908#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {908#true} is VALID [2018-11-14 18:52:59,704 INFO L273 TraceCheckUtils]: 6: Hoare triple {908#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,705 INFO L273 TraceCheckUtils]: 7: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,705 INFO L273 TraceCheckUtils]: 8: Hoare triple {910#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,706 INFO L273 TraceCheckUtils]: 9: Hoare triple {910#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,707 INFO L273 TraceCheckUtils]: 10: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,707 INFO L273 TraceCheckUtils]: 11: Hoare triple {910#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,708 INFO L273 TraceCheckUtils]: 12: Hoare triple {910#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,709 INFO L273 TraceCheckUtils]: 13: Hoare triple {910#(<= 2 ~SIZE~0)} assume true; {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,709 INFO L273 TraceCheckUtils]: 14: Hoare triple {910#(<= 2 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {910#(<= 2 ~SIZE~0)} is VALID [2018-11-14 18:52:59,710 INFO L273 TraceCheckUtils]: 15: Hoare triple {910#(<= 2 ~SIZE~0)} ~i~0 := 0; {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:59,711 INFO L273 TraceCheckUtils]: 16: Hoare triple {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} assume true; {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:59,712 INFO L273 TraceCheckUtils]: 17: Hoare triple {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:59,714 INFO L273 TraceCheckUtils]: 18: Hoare triple {961#(and (<= main_~i~0 0) (<= 2 ~SIZE~0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {971#(and (<= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:59,714 INFO L273 TraceCheckUtils]: 19: Hoare triple {971#(and (<= main_~i~0 1) (<= 2 ~SIZE~0))} assume true; {971#(and (<= main_~i~0 1) (<= 2 ~SIZE~0))} is VALID [2018-11-14 18:52:59,715 INFO L273 TraceCheckUtils]: 20: Hoare triple {971#(and (<= main_~i~0 1) (<= 2 ~SIZE~0))} assume !(~i~0 < ~SIZE~0); {909#false} is VALID [2018-11-14 18:52:59,716 INFO L273 TraceCheckUtils]: 21: Hoare triple {909#false} ~i~0 := 0; {909#false} is VALID [2018-11-14 18:52:59,716 INFO L273 TraceCheckUtils]: 22: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,716 INFO L273 TraceCheckUtils]: 23: Hoare triple {909#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {909#false} is VALID [2018-11-14 18:52:59,717 INFO L273 TraceCheckUtils]: 24: Hoare triple {909#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {909#false} is VALID [2018-11-14 18:52:59,717 INFO L273 TraceCheckUtils]: 25: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,717 INFO L273 TraceCheckUtils]: 26: Hoare triple {909#false} assume !(~i~0 < ~SIZE~0); {909#false} is VALID [2018-11-14 18:52:59,718 INFO L273 TraceCheckUtils]: 27: Hoare triple {909#false} ~i~0 := 0; {909#false} is VALID [2018-11-14 18:52:59,718 INFO L273 TraceCheckUtils]: 28: Hoare triple {909#false} assume true; {909#false} is VALID [2018-11-14 18:52:59,718 INFO L273 TraceCheckUtils]: 29: Hoare triple {909#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {909#false} is VALID [2018-11-14 18:52:59,718 INFO L256 TraceCheckUtils]: 30: Hoare triple {909#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {909#false} is VALID [2018-11-14 18:52:59,719 INFO L273 TraceCheckUtils]: 31: Hoare triple {909#false} ~cond := #in~cond; {909#false} is VALID [2018-11-14 18:52:59,719 INFO L273 TraceCheckUtils]: 32: Hoare triple {909#false} assume ~cond == 0; {909#false} is VALID [2018-11-14 18:52:59,720 INFO L273 TraceCheckUtils]: 33: Hoare triple {909#false} assume !false; {909#false} is VALID [2018-11-14 18:52:59,722 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-14 18:52:59,745 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:52:59,745 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 7 [2018-11-14 18:52:59,745 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 34 [2018-11-14 18:52:59,746 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:52:59,746 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:52:59,796 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:52:59,796 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:52:59,797 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:52:59,797 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:52:59,797 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 7 states. [2018-11-14 18:53:00,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,325 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2018-11-14 18:53:00,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:53:00,325 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 34 [2018-11-14 18:53:00,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:00,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:53:00,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 18:53:00,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:53:00,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 82 transitions. [2018-11-14 18:53:00,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 82 transitions. [2018-11-14 18:53:00,435 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:00,438 INFO L225 Difference]: With dead ends: 76 [2018-11-14 18:53:00,439 INFO L226 Difference]: Without dead ends: 58 [2018-11-14 18:53:00,439 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=29, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:53:00,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-11-14 18:53:00,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 45. [2018-11-14 18:53:00,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:00,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 45 states. [2018-11-14 18:53:00,517 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 45 states. [2018-11-14 18:53:00,517 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 45 states. [2018-11-14 18:53:00,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,520 INFO L93 Difference]: Finished difference Result 58 states and 63 transitions. [2018-11-14 18:53:00,520 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 63 transitions. [2018-11-14 18:53:00,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:00,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:00,521 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 58 states. [2018-11-14 18:53:00,522 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 58 states. [2018-11-14 18:53:00,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:00,525 INFO L93 Difference]: Finished difference Result 58 states and 63 transitions. [2018-11-14 18:53:00,525 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 63 transitions. [2018-11-14 18:53:00,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:00,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:00,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:00,527 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:00,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-14 18:53:00,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 48 transitions. [2018-11-14 18:53:00,529 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 48 transitions. Word has length 34 [2018-11-14 18:53:00,530 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:00,530 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 48 transitions. [2018-11-14 18:53:00,530 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:53:00,530 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2018-11-14 18:53:00,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-14 18:53:00,532 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:00,532 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:00,533 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:00,533 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:00,533 INFO L82 PathProgramCache]: Analyzing trace with hash -1832671104, now seen corresponding path program 2 times [2018-11-14 18:53:00,533 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:00,534 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:00,537 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:00,537 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:53:00,537 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:00,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:02,521 WARN L179 SmtUtils]: Spent 139.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 48 [2018-11-14 18:53:02,756 WARN L179 SmtUtils]: Spent 169.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 42 [2018-11-14 18:53:03,207 WARN L179 SmtUtils]: Spent 303.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 42 [2018-11-14 18:53:04,260 INFO L256 TraceCheckUtils]: 0: Hoare triple {1296#true} call ULTIMATE.init(); {1296#true} is VALID [2018-11-14 18:53:04,260 INFO L273 TraceCheckUtils]: 1: Hoare triple {1296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1296#true} is VALID [2018-11-14 18:53:04,260 INFO L273 TraceCheckUtils]: 2: Hoare triple {1296#true} assume true; {1296#true} is VALID [2018-11-14 18:53:04,261 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1296#true} {1296#true} #88#return; {1296#true} is VALID [2018-11-14 18:53:04,261 INFO L256 TraceCheckUtils]: 4: Hoare triple {1296#true} call #t~ret14 := main(); {1296#true} is VALID [2018-11-14 18:53:04,262 INFO L273 TraceCheckUtils]: 5: Hoare triple {1296#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1296#true} is VALID [2018-11-14 18:53:04,265 INFO L273 TraceCheckUtils]: 6: Hoare triple {1296#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1298#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,266 INFO L273 TraceCheckUtils]: 7: Hoare triple {1298#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1298#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,268 INFO L273 TraceCheckUtils]: 8: Hoare triple {1298#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {1299#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,270 INFO L273 TraceCheckUtils]: 9: Hoare triple {1299#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} is VALID [2018-11-14 18:53:04,272 INFO L273 TraceCheckUtils]: 10: Hoare triple {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} assume true; {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} is VALID [2018-11-14 18:53:04,274 INFO L273 TraceCheckUtils]: 11: Hoare triple {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} is VALID [2018-11-14 18:53:04,276 INFO L273 TraceCheckUtils]: 12: Hoare triple {1300#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0) (or (and (<= (+ main_~i~0 1) ~SIZE~0) (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4)))) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (+ (- ~SIZE~0) 1))) (+ (* 4 ~SIZE~0) (- 4))))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1301#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (- ~SIZE~0))) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ main_~i~0 1) ~SIZE~0)) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (<= main_~i~0 ~SIZE~0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,278 INFO L273 TraceCheckUtils]: 13: Hoare triple {1301#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (- ~SIZE~0))) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ main_~i~0 1) ~SIZE~0)) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (<= main_~i~0 ~SIZE~0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1301#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (- ~SIZE~0))) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ main_~i~0 1) ~SIZE~0)) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (<= main_~i~0 ~SIZE~0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,279 INFO L273 TraceCheckUtils]: 14: Hoare triple {1301#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) (+ main_~i~0 (- ~SIZE~0))) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ main_~i~0 1) ~SIZE~0)) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (<= main_~i~0 ~SIZE~0) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1302#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,281 INFO L273 TraceCheckUtils]: 15: Hoare triple {1302#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= 2 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1303#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,283 INFO L273 TraceCheckUtils]: 16: Hoare triple {1303#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1303#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,290 INFO L273 TraceCheckUtils]: 17: Hoare triple {1303#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1304#(and (= |main_~#b~0.offset| 0) (or (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,292 INFO L273 TraceCheckUtils]: 18: Hoare triple {1304#(and (= |main_~#b~0.offset| 0) (or (not (= (+ (* 4 main_~i~0) |main_~#a~0.offset|) 0)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (< 0 (+ (* 4 main_~i~0) |main_~#a~0.offset| 1)) (<= 2 ~SIZE~0)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {1305#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (<= 5 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (and (= (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#b~0.base|) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,293 INFO L273 TraceCheckUtils]: 19: Hoare triple {1305#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (<= 5 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (and (= (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#b~0.base|) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1305#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (<= 5 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (and (= (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#b~0.base|) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,296 INFO L273 TraceCheckUtils]: 20: Hoare triple {1305#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (<= 5 (+ (* 4 main_~i~0) |main_~#a~0.offset|)) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (and (= (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#b~0.base|) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1306#(and (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,297 INFO L273 TraceCheckUtils]: 21: Hoare triple {1306#(and (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {1307#(and (= |main_~#b~0.offset| 0) (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 1) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,299 INFO L273 TraceCheckUtils]: 22: Hoare triple {1307#(and (= |main_~#b~0.offset| 0) (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 1) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1307#(and (= |main_~#b~0.offset| 0) (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 1) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,300 INFO L273 TraceCheckUtils]: 23: Hoare triple {1307#(and (= |main_~#b~0.offset| 0) (or (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 1) (* 4 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1308#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (or (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,302 INFO L273 TraceCheckUtils]: 24: Hoare triple {1308#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (or (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|)) (and (= (select (select |#memory_int| |main_~#b~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1309#(and (or (and (<= 2 ~SIZE~0) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,303 INFO L273 TraceCheckUtils]: 25: Hoare triple {1309#(and (or (and (<= 2 ~SIZE~0) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1309#(and (or (and (<= 2 ~SIZE~0) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,305 INFO L273 TraceCheckUtils]: 26: Hoare triple {1309#(and (or (and (<= 2 ~SIZE~0) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1310#(and (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,307 INFO L273 TraceCheckUtils]: 27: Hoare triple {1310#(and (or (and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= 2 ~SIZE~0)) (<= 9 (+ (* 4 ~SIZE~0) |main_~#a~0.offset|))) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {1311#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0)))) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,309 INFO L273 TraceCheckUtils]: 28: Hoare triple {1311#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0)))) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1311#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0)))) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,311 INFO L273 TraceCheckUtils]: 29: Hoare triple {1311#(and (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (or (= (select (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0)))) 0) (select (select (store |#memory_int| |main_~#a~0.base| (store (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0)) (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| (* 4 main_~i~0))))) |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1312#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,312 INFO L273 TraceCheckUtils]: 30: Hoare triple {1312#(and (or (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (<= (+ (* 4 main_~i~0) |main_~#a~0.offset| 5) (* 4 ~SIZE~0))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {1313#(and (or (<= (+ main_~i~0 1) ~SIZE~0) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,313 INFO L273 TraceCheckUtils]: 31: Hoare triple {1313#(and (or (<= (+ main_~i~0 1) ~SIZE~0) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1313#(and (or (<= (+ main_~i~0 1) ~SIZE~0) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,314 INFO L273 TraceCheckUtils]: 32: Hoare triple {1313#(and (or (<= (+ main_~i~0 1) ~SIZE~0) (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4))))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1314#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,315 INFO L273 TraceCheckUtils]: 33: Hoare triple {1314#(and (= (select (select |#memory_int| |main_~#a~0.base|) 0) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ |main_~#a_copy~0.offset| (+ (* (- 4) 0) (+ (* 4 ~SIZE~0) (- 4)))))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1315#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (* (- 4) main_~i~0) (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,318 INFO L273 TraceCheckUtils]: 34: Hoare triple {1315#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (* (- 4) main_~i~0) (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1315#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (* (- 4) main_~i~0) (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:04,319 INFO L273 TraceCheckUtils]: 35: Hoare triple {1315#(and (= (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| (* 4 main_~i~0))) (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (* (- 4) main_~i~0) (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {1316#(= |main_#t~mem13| |main_#t~mem12|)} is VALID [2018-11-14 18:53:04,319 INFO L256 TraceCheckUtils]: 36: Hoare triple {1316#(= |main_#t~mem13| |main_#t~mem12|)} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {1317#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-14 18:53:04,320 INFO L273 TraceCheckUtils]: 37: Hoare triple {1317#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1318#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-14 18:53:04,321 INFO L273 TraceCheckUtils]: 38: Hoare triple {1318#(not (= __VERIFIER_assert_~cond 0))} assume ~cond == 0; {1297#false} is VALID [2018-11-14 18:53:04,321 INFO L273 TraceCheckUtils]: 39: Hoare triple {1297#false} assume !false; {1297#false} is VALID [2018-11-14 18:53:04,344 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:04,344 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:04,344 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:53:04,364 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:53:04,418 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:53:04,418 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:04,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:04,445 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:04,593 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,599 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-11-14 18:53:04,648 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,649 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,651 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-11-14 18:53:04,697 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,699 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,700 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,701 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:04,703 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-11-14 18:53:04,706 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:04,715 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:04,724 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:04,746 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:04,746 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 1 variables, input treesize:49, output treesize:40 [2018-11-14 18:53:04,965 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 64 [2018-11-14 18:53:04,972 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 23 [2018-11-14 18:53:04,974 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,018 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 72 [2018-11-14 18:53:05,066 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 23 [2018-11-14 18:53:05,090 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,175 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,200 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,233 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,234 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 1 variables, input treesize:139, output treesize:86 [2018-11-14 18:53:05,722 WARN L179 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 61 [2018-11-14 18:53:05,761 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 108 treesize of output 106 [2018-11-14 18:53:05,771 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:05,776 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 48 [2018-11-14 18:53:05,780 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,845 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 102 [2018-11-14 18:53:05,857 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:05,860 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 48 [2018-11-14 18:53:05,865 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,894 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,908 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:05,952 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-14 18:53:05,953 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:171, output treesize:118 [2018-11-14 18:53:06,917 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 132 treesize of output 130 [2018-11-14 18:53:06,956 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:06,956 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:06,966 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 72 treesize of output 79 [2018-11-14 18:53:06,973 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,030 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 111 [2018-11-14 18:53:07,046 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:07,047 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,056 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 69 treesize of output 76 [2018-11-14 18:53:07,060 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,089 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,104 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,150 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-14 18:53:07,150 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:174, output treesize:119 [2018-11-14 18:53:07,161 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:07,520 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 124 treesize of output 124 [2018-11-14 18:53:07,535 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,539 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,557 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 51 treesize of output 78 [2018-11-14 18:53:07,562 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-14 18:53:07,669 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 109 [2018-11-14 18:53:07,684 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,685 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:07,693 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 60 treesize of output 65 [2018-11-14 18:53:07,698 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,728 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:07,829 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 118 [2018-11-14 18:53:07,845 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,847 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:07,874 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 3 case distinctions, treesize of input 60 treesize of output 101 [2018-11-14 18:53:07,882 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 3 xjuncts. [2018-11-14 18:53:07,945 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:53:07,999 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 18:53:08,171 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-11-14 18:53:08,171 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 5 variables, input treesize:166, output treesize:199 [2018-11-14 18:53:08,182 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:08,448 WARN L179 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 78 [2018-11-14 18:53:09,302 WARN L179 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 80 [2018-11-14 18:53:09,670 INFO L303 Elim1Store]: Index analysis took 108 ms [2018-11-14 18:53:09,672 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 148 treesize of output 124 [2018-11-14 18:53:09,686 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:09,687 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:09,688 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:09,694 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 61 [2018-11-14 18:53:09,699 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:09,771 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 86 [2018-11-14 18:53:09,783 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:09,786 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 44 treesize of output 39 [2018-11-14 18:53:09,790 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:09,811 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:09,850 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:10,030 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 166 treesize of output 150 [2018-11-14 18:53:10,040 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:10,042 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:10,042 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:10,048 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 61 [2018-11-14 18:53:10,051 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:10,141 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 102 [2018-11-14 18:53:10,152 INFO L682 Elim1Store]: detected equality via solver [2018-11-14 18:53:10,153 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:10,161 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 60 treesize of output 67 [2018-11-14 18:53:10,170 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:10,194 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:10,238 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:10,360 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 2 dim-2 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-11-14 18:53:10,360 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 8 variables, input treesize:315, output treesize:181 [2018-11-14 18:53:10,372 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:10,918 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 126 treesize of output 112 [2018-11-14 18:53:10,933 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:10,938 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 36 [2018-11-14 18:53:10,941 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,006 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 74 [2018-11-14 18:53:11,016 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 26 [2018-11-14 18:53:11,020 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,038 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,070 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,183 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 110 treesize of output 92 [2018-11-14 18:53:11,193 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 18:53:11,199 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 36 [2018-11-14 18:53:11,206 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,486 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 48 [2018-11-14 18:53:11,492 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 7 [2018-11-14 18:53:11,493 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,503 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,535 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,614 INFO L267 ElimStorePlain]: Start of recursive call 1: 8 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 2 xjuncts. [2018-11-14 18:53:11,614 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 10 variables, input treesize:237, output treesize:93 [2018-11-14 18:53:11,625 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:11,831 INFO L477 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 34 treesize of output 30 [2018-11-14 18:53:11,838 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 5 [2018-11-14 18:53:11,839 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,847 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-14 18:53:11,849 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,852 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,861 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:53:11,862 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:44, output treesize:3 [2018-11-14 18:53:11,864 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 18:53:11,938 INFO L256 TraceCheckUtils]: 0: Hoare triple {1296#true} call ULTIMATE.init(); {1296#true} is VALID [2018-11-14 18:53:11,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {1296#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {1296#true} is VALID [2018-11-14 18:53:11,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {1296#true} assume true; {1296#true} is VALID [2018-11-14 18:53:11,939 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1296#true} {1296#true} #88#return; {1296#true} is VALID [2018-11-14 18:53:11,939 INFO L256 TraceCheckUtils]: 4: Hoare triple {1296#true} call #t~ret14 := main(); {1296#true} is VALID [2018-11-14 18:53:11,939 INFO L273 TraceCheckUtils]: 5: Hoare triple {1296#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {1296#true} is VALID [2018-11-14 18:53:11,942 INFO L273 TraceCheckUtils]: 6: Hoare triple {1296#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {1340#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} is VALID [2018-11-14 18:53:11,943 INFO L273 TraceCheckUtils]: 7: Hoare triple {1340#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} assume true; {1340#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} is VALID [2018-11-14 18:53:11,945 INFO L273 TraceCheckUtils]: 8: Hoare triple {1340#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {1347#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#b~0.offset| 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* (- 4) main_~i~0) (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} is VALID [2018-11-14 18:53:11,948 INFO L273 TraceCheckUtils]: 9: Hoare triple {1347#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#b~0.offset| 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* (- 4) main_~i~0) (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (= main_~i~0 0) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1351#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= main_~i~0 1) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} is VALID [2018-11-14 18:53:11,949 INFO L273 TraceCheckUtils]: 10: Hoare triple {1351#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= main_~i~0 1) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} assume true; {1351#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= main_~i~0 1) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} is VALID [2018-11-14 18:53:11,954 INFO L273 TraceCheckUtils]: 11: Hoare triple {1351#(and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= main_~i~0 1) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= |main_~#b~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (= |main_~#a~0.offset| 0) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {1358#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* (- 4) main_~i~0) (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,957 INFO L273 TraceCheckUtils]: 12: Hoare triple {1358#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* (- 4) main_~i~0) (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* (- 4) main_~i~0) (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {1362#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (<= main_~i~0 2) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,959 INFO L273 TraceCheckUtils]: 13: Hoare triple {1362#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (<= main_~i~0 2) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {1362#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (<= main_~i~0 2) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,961 INFO L273 TraceCheckUtils]: 14: Hoare triple {1362#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (<= main_~i~0 2) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1369#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,963 INFO L273 TraceCheckUtils]: 15: Hoare triple {1369#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1373#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,966 INFO L273 TraceCheckUtils]: 16: Hoare triple {1373#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {1373#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,970 INFO L273 TraceCheckUtils]: 17: Hoare triple {1373#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1380#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,973 INFO L273 TraceCheckUtils]: 18: Hoare triple {1380#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) (+ (* 4 main_~i~0) |main_~#b~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {1384#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (<= 1 main_~i~0) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,975 INFO L273 TraceCheckUtils]: 19: Hoare triple {1384#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (<= 1 main_~i~0) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume true; {1384#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (<= 1 main_~i~0) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:11,997 INFO L273 TraceCheckUtils]: 20: Hoare triple {1384#(and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (<= 1 main_~i~0) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,013 INFO L273 TraceCheckUtils]: 21: Hoare triple {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,022 INFO L273 TraceCheckUtils]: 22: Hoare triple {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} assume true; {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,024 INFO L273 TraceCheckUtils]: 23: Hoare triple {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} assume !(~i~0 < ~SIZE~0); {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,026 INFO L273 TraceCheckUtils]: 24: Hoare triple {1391#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)))} ~i~0 := 0; {1404#(or (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,027 INFO L273 TraceCheckUtils]: 25: Hoare triple {1404#(or (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} assume true; {1404#(or (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,033 INFO L273 TraceCheckUtils]: 26: Hoare triple {1404#(or (and (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 4)))) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#b~0.base|) |main_~#b~0.offset|)) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#b~0.base|)) (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 4)))) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1411#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,040 INFO L273 TraceCheckUtils]: 27: Hoare triple {1411#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset|))) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0)))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {1415#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,044 INFO L273 TraceCheckUtils]: 28: Hoare triple {1415#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} assume true; {1415#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} is VALID [2018-11-14 18:53:12,047 INFO L273 TraceCheckUtils]: 29: Hoare triple {1415#(or (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((|main_~#b_copy~0.offset| Int) (|main_~#b_copy~0.base| Int)) (and (= (select (select |#memory_int| |main_~#b_copy~0.base|) (+ |main_~#b_copy~0.offset| (* 4 ~SIZE~0) (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (not (= |main_~#b_copy~0.base| |main_~#a~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#a_copy~0.base|)) (not (= |main_~#b_copy~0.base| |main_~#b~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0)) (and (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (= |main_~#b~0.offset| 0) (= main_~i~0 1) (exists ((v_prenex_2 Int) (v_prenex_1 Int)) (and (not (= v_prenex_2 |main_~#a_copy~0.base|)) (= (select (select |#memory_int| |main_~#b~0.base|) (+ |main_~#b~0.offset| 4)) (select (select |#memory_int| v_prenex_2) (+ v_prenex_1 (* 4 ~SIZE~0) (- 8)))) (not (= |main_~#b~0.base| v_prenex_2)) (not (= v_prenex_2 |main_~#a~0.base|)))) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) (+ (* 4 main_~i~0) |main_~#a~0.offset| (- 4)))) (not (= |main_~#a_copy~0.base| |main_~#b~0.base|)) (not (= |main_~#b~0.base| |main_~#a~0.base|)) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 8))) (select (select |#memory_int| |main_~#a~0.base|) (+ |main_~#a~0.offset| 4))) (= |main_~#a~0.offset| 0)))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,048 INFO L273 TraceCheckUtils]: 30: Hoare triple {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,049 INFO L273 TraceCheckUtils]: 31: Hoare triple {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume true; {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,050 INFO L273 TraceCheckUtils]: 32: Hoare triple {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} assume !(~i~0 < ~SIZE~0); {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,051 INFO L273 TraceCheckUtils]: 33: Hoare triple {1422#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= |main_~#a~0.offset| 0))} ~i~0 := 0; {1435#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,052 INFO L273 TraceCheckUtils]: 34: Hoare triple {1435#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume true; {1435#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-14 18:53:12,053 INFO L273 TraceCheckUtils]: 35: Hoare triple {1435#(and (= (select (select |#memory_int| |main_~#a_copy~0.base|) (+ (* 4 ~SIZE~0) |main_~#a_copy~0.offset| (- 4))) (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|)) (= |main_~#a_copy~0.offset| 0) (< 1 ~SIZE~0) (<= ~SIZE~0 2) (not (= |main_~#a_copy~0.base| |main_~#a~0.base|)) (= main_~i~0 0) (= |main_~#a~0.offset| 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {1316#(= |main_#t~mem13| |main_#t~mem12|)} is VALID [2018-11-14 18:53:12,055 INFO L256 TraceCheckUtils]: 36: Hoare triple {1316#(= |main_#t~mem13| |main_#t~mem12|)} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {1445#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-14 18:53:12,055 INFO L273 TraceCheckUtils]: 37: Hoare triple {1445#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1449#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-14 18:53:12,056 INFO L273 TraceCheckUtils]: 38: Hoare triple {1449#(= 1 __VERIFIER_assert_~cond)} assume ~cond == 0; {1297#false} is VALID [2018-11-14 18:53:12,056 INFO L273 TraceCheckUtils]: 39: Hoare triple {1297#false} assume !false; {1297#false} is VALID [2018-11-14 18:53:12,084 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:53:12,105 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:12,106 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 20] total 40 [2018-11-14 18:53:12,106 INFO L78 Accepts]: Start accepts. Automaton has 40 states. Word has length 40 [2018-11-14 18:53:12,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:12,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states. [2018-11-14 18:53:12,297 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:12,297 INFO L459 AbstractCegarLoop]: Interpolant automaton has 40 states [2018-11-14 18:53:12,297 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2018-11-14 18:53:12,299 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=297, Invalid=1263, Unknown=0, NotChecked=0, Total=1560 [2018-11-14 18:53:12,299 INFO L87 Difference]: Start difference. First operand 45 states and 48 transitions. Second operand 40 states. [2018-11-14 18:53:13,313 WARN L179 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 86 [2018-11-14 18:53:13,980 WARN L179 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 87 [2018-11-14 18:53:15,384 WARN L179 SmtUtils]: Spent 106.00 ms on a formula simplification. DAG size of input: 75 DAG size of output: 74 [2018-11-14 18:53:16,359 WARN L179 SmtUtils]: Spent 226.00 ms on a formula simplification. DAG size of input: 115 DAG size of output: 110 [2018-11-14 18:53:16,609 WARN L179 SmtUtils]: Spent 109.00 ms on a formula simplification. DAG size of input: 81 DAG size of output: 76 [2018-11-14 18:53:17,606 WARN L179 SmtUtils]: Spent 189.00 ms on a formula simplification. DAG size of input: 103 DAG size of output: 98 [2018-11-14 18:53:17,793 WARN L179 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 68 [2018-11-14 18:53:24,529 WARN L179 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 52 [2018-11-14 18:53:25,842 WARN L179 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 71 DAG size of output: 46 [2018-11-14 18:53:26,677 WARN L179 SmtUtils]: Spent 127.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 52 [2018-11-14 18:53:28,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:28,355 INFO L93 Difference]: Finished difference Result 195 states and 222 transitions. [2018-11-14 18:53:28,355 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 60 states. [2018-11-14 18:53:28,355 INFO L78 Accepts]: Start accepts. Automaton has 40 states. Word has length 40 [2018-11-14 18:53:28,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:28,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-14 18:53:28,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 217 transitions. [2018-11-14 18:53:28,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-14 18:53:28,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 217 transitions. [2018-11-14 18:53:28,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 60 states and 217 transitions. [2018-11-14 18:53:28,945 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:28,952 INFO L225 Difference]: With dead ends: 195 [2018-11-14 18:53:28,952 INFO L226 Difference]: Without dead ends: 193 [2018-11-14 18:53:28,956 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 23 SyntacticMatches, 2 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2397 ImplicationChecksByTransitivity, 10.4s TimeCoverageRelationStatistics Valid=1155, Invalid=5487, Unknown=0, NotChecked=0, Total=6642 [2018-11-14 18:53:28,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2018-11-14 18:53:29,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 89. [2018-11-14 18:53:29,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:29,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand 89 states. [2018-11-14 18:53:29,304 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand 89 states. [2018-11-14 18:53:29,304 INFO L87 Difference]: Start difference. First operand 193 states. Second operand 89 states. [2018-11-14 18:53:29,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:29,314 INFO L93 Difference]: Finished difference Result 193 states and 220 transitions. [2018-11-14 18:53:29,314 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 220 transitions. [2018-11-14 18:53:29,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:29,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:29,315 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 193 states. [2018-11-14 18:53:29,316 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 193 states. [2018-11-14 18:53:29,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:29,325 INFO L93 Difference]: Finished difference Result 193 states and 220 transitions. [2018-11-14 18:53:29,325 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 220 transitions. [2018-11-14 18:53:29,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:29,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:29,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:29,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:29,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-14 18:53:29,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 98 transitions. [2018-11-14 18:53:29,331 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 98 transitions. Word has length 40 [2018-11-14 18:53:29,331 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:29,331 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 98 transitions. [2018-11-14 18:53:29,331 INFO L481 AbstractCegarLoop]: Interpolant automaton has 40 states. [2018-11-14 18:53:29,332 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2018-11-14 18:53:29,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-14 18:53:29,333 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:29,333 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:29,333 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:29,334 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:29,334 INFO L82 PathProgramCache]: Analyzing trace with hash -962816992, now seen corresponding path program 3 times [2018-11-14 18:53:29,334 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:29,334 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:29,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:29,335 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:29,335 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:29,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:29,642 INFO L256 TraceCheckUtils]: 0: Hoare triple {2308#true} call ULTIMATE.init(); {2308#true} is VALID [2018-11-14 18:53:29,643 INFO L273 TraceCheckUtils]: 1: Hoare triple {2308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2308#true} is VALID [2018-11-14 18:53:29,643 INFO L273 TraceCheckUtils]: 2: Hoare triple {2308#true} assume true; {2308#true} is VALID [2018-11-14 18:53:29,643 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2308#true} {2308#true} #88#return; {2308#true} is VALID [2018-11-14 18:53:29,644 INFO L256 TraceCheckUtils]: 4: Hoare triple {2308#true} call #t~ret14 := main(); {2308#true} is VALID [2018-11-14 18:53:29,644 INFO L273 TraceCheckUtils]: 5: Hoare triple {2308#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2308#true} is VALID [2018-11-14 18:53:29,645 INFO L273 TraceCheckUtils]: 6: Hoare triple {2308#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {2310#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,645 INFO L273 TraceCheckUtils]: 7: Hoare triple {2310#(= main_~i~0 0)} assume true; {2310#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,646 INFO L273 TraceCheckUtils]: 8: Hoare triple {2310#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2310#(= main_~i~0 0)} is VALID [2018-11-14 18:53:29,647 INFO L273 TraceCheckUtils]: 9: Hoare triple {2310#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:29,648 INFO L273 TraceCheckUtils]: 10: Hoare triple {2311#(<= 1 main_~i~0)} assume true; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:29,648 INFO L273 TraceCheckUtils]: 11: Hoare triple {2311#(<= 1 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:29,649 INFO L273 TraceCheckUtils]: 12: Hoare triple {2311#(<= 1 main_~i~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2312#(<= 2 main_~i~0)} is VALID [2018-11-14 18:53:29,650 INFO L273 TraceCheckUtils]: 13: Hoare triple {2312#(<= 2 main_~i~0)} assume true; {2312#(<= 2 main_~i~0)} is VALID [2018-11-14 18:53:29,651 INFO L273 TraceCheckUtils]: 14: Hoare triple {2312#(<= 2 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2313#(<= 3 ~SIZE~0)} is VALID [2018-11-14 18:53:29,652 INFO L273 TraceCheckUtils]: 15: Hoare triple {2313#(<= 3 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2313#(<= 3 ~SIZE~0)} is VALID [2018-11-14 18:53:29,652 INFO L273 TraceCheckUtils]: 16: Hoare triple {2313#(<= 3 ~SIZE~0)} assume true; {2313#(<= 3 ~SIZE~0)} is VALID [2018-11-14 18:53:29,653 INFO L273 TraceCheckUtils]: 17: Hoare triple {2313#(<= 3 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {2313#(<= 3 ~SIZE~0)} is VALID [2018-11-14 18:53:29,654 INFO L273 TraceCheckUtils]: 18: Hoare triple {2313#(<= 3 ~SIZE~0)} ~i~0 := 0; {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:29,656 INFO L273 TraceCheckUtils]: 19: Hoare triple {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} assume true; {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:29,658 INFO L273 TraceCheckUtils]: 20: Hoare triple {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} is VALID [2018-11-14 18:53:29,659 INFO L273 TraceCheckUtils]: 21: Hoare triple {2314#(and (<= 3 ~SIZE~0) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {2315#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-14 18:53:29,659 INFO L273 TraceCheckUtils]: 22: Hoare triple {2315#(<= (+ main_~i~0 2) ~SIZE~0)} assume true; {2315#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-14 18:53:29,665 INFO L273 TraceCheckUtils]: 23: Hoare triple {2315#(<= (+ main_~i~0 2) ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2315#(<= (+ main_~i~0 2) ~SIZE~0)} is VALID [2018-11-14 18:53:29,666 INFO L273 TraceCheckUtils]: 24: Hoare triple {2315#(<= (+ main_~i~0 2) ~SIZE~0)} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {2316#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:53:29,666 INFO L273 TraceCheckUtils]: 25: Hoare triple {2316#(<= (+ main_~i~0 1) ~SIZE~0)} assume true; {2316#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2018-11-14 18:53:29,667 INFO L273 TraceCheckUtils]: 26: Hoare triple {2316#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {2309#false} is VALID [2018-11-14 18:53:29,667 INFO L273 TraceCheckUtils]: 27: Hoare triple {2309#false} ~i~0 := 0; {2309#false} is VALID [2018-11-14 18:53:29,667 INFO L273 TraceCheckUtils]: 28: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:29,668 INFO L273 TraceCheckUtils]: 29: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:29,668 INFO L273 TraceCheckUtils]: 30: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:29,668 INFO L273 TraceCheckUtils]: 31: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:29,668 INFO L273 TraceCheckUtils]: 32: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:29,669 INFO L273 TraceCheckUtils]: 33: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:29,669 INFO L273 TraceCheckUtils]: 34: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:29,669 INFO L273 TraceCheckUtils]: 35: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:29,669 INFO L273 TraceCheckUtils]: 36: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:29,669 INFO L273 TraceCheckUtils]: 37: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:29,670 INFO L273 TraceCheckUtils]: 38: Hoare triple {2309#false} assume !(~i~0 < ~SIZE~0); {2309#false} is VALID [2018-11-14 18:53:29,670 INFO L273 TraceCheckUtils]: 39: Hoare triple {2309#false} ~i~0 := 0; {2309#false} is VALID [2018-11-14 18:53:29,670 INFO L273 TraceCheckUtils]: 40: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:29,670 INFO L273 TraceCheckUtils]: 41: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {2309#false} is VALID [2018-11-14 18:53:29,670 INFO L256 TraceCheckUtils]: 42: Hoare triple {2309#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {2309#false} is VALID [2018-11-14 18:53:29,671 INFO L273 TraceCheckUtils]: 43: Hoare triple {2309#false} ~cond := #in~cond; {2309#false} is VALID [2018-11-14 18:53:29,671 INFO L273 TraceCheckUtils]: 44: Hoare triple {2309#false} assume ~cond == 0; {2309#false} is VALID [2018-11-14 18:53:29,671 INFO L273 TraceCheckUtils]: 45: Hoare triple {2309#false} assume !false; {2309#false} is VALID [2018-11-14 18:53:29,674 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 2 proven. 20 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:53:29,674 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:29,674 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:53:29,719 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:53:29,872 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-14 18:53:29,873 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:29,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:29,908 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:30,267 INFO L256 TraceCheckUtils]: 0: Hoare triple {2308#true} call ULTIMATE.init(); {2308#true} is VALID [2018-11-14 18:53:30,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {2308#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {2308#true} is VALID [2018-11-14 18:53:30,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {2308#true} assume true; {2308#true} is VALID [2018-11-14 18:53:30,268 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2308#true} {2308#true} #88#return; {2308#true} is VALID [2018-11-14 18:53:30,268 INFO L256 TraceCheckUtils]: 4: Hoare triple {2308#true} call #t~ret14 := main(); {2308#true} is VALID [2018-11-14 18:53:30,269 INFO L273 TraceCheckUtils]: 5: Hoare triple {2308#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {2308#true} is VALID [2018-11-14 18:53:30,270 INFO L273 TraceCheckUtils]: 6: Hoare triple {2308#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {2338#(<= 0 main_~i~0)} is VALID [2018-11-14 18:53:30,270 INFO L273 TraceCheckUtils]: 7: Hoare triple {2338#(<= 0 main_~i~0)} assume true; {2338#(<= 0 main_~i~0)} is VALID [2018-11-14 18:53:30,270 INFO L273 TraceCheckUtils]: 8: Hoare triple {2338#(<= 0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2338#(<= 0 main_~i~0)} is VALID [2018-11-14 18:53:30,271 INFO L273 TraceCheckUtils]: 9: Hoare triple {2338#(<= 0 main_~i~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:30,271 INFO L273 TraceCheckUtils]: 10: Hoare triple {2311#(<= 1 main_~i~0)} assume true; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:30,271 INFO L273 TraceCheckUtils]: 11: Hoare triple {2311#(<= 1 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2311#(<= 1 main_~i~0)} is VALID [2018-11-14 18:53:30,272 INFO L273 TraceCheckUtils]: 12: Hoare triple {2311#(<= 1 main_~i~0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2312#(<= 2 main_~i~0)} is VALID [2018-11-14 18:53:30,273 INFO L273 TraceCheckUtils]: 13: Hoare triple {2312#(<= 2 main_~i~0)} assume true; {2312#(<= 2 main_~i~0)} is VALID [2018-11-14 18:53:30,274 INFO L273 TraceCheckUtils]: 14: Hoare triple {2312#(<= 2 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {2363#(and (<= 2 main_~i~0) (< main_~i~0 ~SIZE~0))} is VALID [2018-11-14 18:53:30,275 INFO L273 TraceCheckUtils]: 15: Hoare triple {2363#(and (<= 2 main_~i~0) (< main_~i~0 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {2367#(and (<= main_~i~0 ~SIZE~0) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,276 INFO L273 TraceCheckUtils]: 16: Hoare triple {2367#(and (<= main_~i~0 ~SIZE~0) (<= 3 ~SIZE~0))} assume true; {2367#(and (<= main_~i~0 ~SIZE~0) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,276 INFO L273 TraceCheckUtils]: 17: Hoare triple {2367#(and (<= main_~i~0 ~SIZE~0) (<= 3 ~SIZE~0))} assume !(~i~0 < ~SIZE~0); {2313#(<= 3 ~SIZE~0)} is VALID [2018-11-14 18:53:30,277 INFO L273 TraceCheckUtils]: 18: Hoare triple {2313#(<= 3 ~SIZE~0)} ~i~0 := 0; {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,278 INFO L273 TraceCheckUtils]: 19: Hoare triple {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} assume true; {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,279 INFO L273 TraceCheckUtils]: 20: Hoare triple {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,279 INFO L273 TraceCheckUtils]: 21: Hoare triple {2377#(and (<= main_~i~0 0) (<= 3 ~SIZE~0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,280 INFO L273 TraceCheckUtils]: 22: Hoare triple {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} assume true; {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,281 INFO L273 TraceCheckUtils]: 23: Hoare triple {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,282 INFO L273 TraceCheckUtils]: 24: Hoare triple {2387#(and (<= main_~i~0 1) (<= 3 ~SIZE~0))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {2397#(and (<= main_~i~0 2) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,283 INFO L273 TraceCheckUtils]: 25: Hoare triple {2397#(and (<= main_~i~0 2) (<= 3 ~SIZE~0))} assume true; {2397#(and (<= main_~i~0 2) (<= 3 ~SIZE~0))} is VALID [2018-11-14 18:53:30,283 INFO L273 TraceCheckUtils]: 26: Hoare triple {2397#(and (<= main_~i~0 2) (<= 3 ~SIZE~0))} assume !(~i~0 < ~SIZE~0); {2309#false} is VALID [2018-11-14 18:53:30,284 INFO L273 TraceCheckUtils]: 27: Hoare triple {2309#false} ~i~0 := 0; {2309#false} is VALID [2018-11-14 18:53:30,284 INFO L273 TraceCheckUtils]: 28: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:30,284 INFO L273 TraceCheckUtils]: 29: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:30,284 INFO L273 TraceCheckUtils]: 30: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:30,285 INFO L273 TraceCheckUtils]: 31: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:30,285 INFO L273 TraceCheckUtils]: 32: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:30,285 INFO L273 TraceCheckUtils]: 33: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:30,285 INFO L273 TraceCheckUtils]: 34: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:30,286 INFO L273 TraceCheckUtils]: 35: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {2309#false} is VALID [2018-11-14 18:53:30,286 INFO L273 TraceCheckUtils]: 36: Hoare triple {2309#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {2309#false} is VALID [2018-11-14 18:53:30,286 INFO L273 TraceCheckUtils]: 37: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:30,286 INFO L273 TraceCheckUtils]: 38: Hoare triple {2309#false} assume !(~i~0 < ~SIZE~0); {2309#false} is VALID [2018-11-14 18:53:30,287 INFO L273 TraceCheckUtils]: 39: Hoare triple {2309#false} ~i~0 := 0; {2309#false} is VALID [2018-11-14 18:53:30,287 INFO L273 TraceCheckUtils]: 40: Hoare triple {2309#false} assume true; {2309#false} is VALID [2018-11-14 18:53:30,287 INFO L273 TraceCheckUtils]: 41: Hoare triple {2309#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {2309#false} is VALID [2018-11-14 18:53:30,287 INFO L256 TraceCheckUtils]: 42: Hoare triple {2309#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {2309#false} is VALID [2018-11-14 18:53:30,288 INFO L273 TraceCheckUtils]: 43: Hoare triple {2309#false} ~cond := #in~cond; {2309#false} is VALID [2018-11-14 18:53:30,288 INFO L273 TraceCheckUtils]: 44: Hoare triple {2309#false} assume ~cond == 0; {2309#false} is VALID [2018-11-14 18:53:30,288 INFO L273 TraceCheckUtils]: 45: Hoare triple {2309#false} assume !false; {2309#false} is VALID [2018-11-14 18:53:30,289 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:53:30,310 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:30,310 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 15 [2018-11-14 18:53:30,311 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 46 [2018-11-14 18:53:30,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:30,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-14 18:53:30,361 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-14 18:53:30,362 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-14 18:53:30,362 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-14 18:53:30,362 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:53:30,363 INFO L87 Difference]: Start difference. First operand 89 states and 98 transitions. Second operand 15 states. [2018-11-14 18:53:31,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:31,982 INFO L93 Difference]: Finished difference Result 167 states and 183 transitions. [2018-11-14 18:53:31,982 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-14 18:53:31,982 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 46 [2018-11-14 18:53:31,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:31,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:53:31,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 137 transitions. [2018-11-14 18:53:31,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:53:31,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 137 transitions. [2018-11-14 18:53:31,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 137 transitions. [2018-11-14 18:53:32,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:32,148 INFO L225 Difference]: With dead ends: 167 [2018-11-14 18:53:32,148 INFO L226 Difference]: Without dead ends: 135 [2018-11-14 18:53:32,150 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 40 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=113, Invalid=307, Unknown=0, NotChecked=0, Total=420 [2018-11-14 18:53:32,150 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2018-11-14 18:53:32,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 83. [2018-11-14 18:53:32,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:32,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 83 states. [2018-11-14 18:53:32,494 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 83 states. [2018-11-14 18:53:32,494 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 83 states. [2018-11-14 18:53:32,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:32,499 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2018-11-14 18:53:32,499 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2018-11-14 18:53:32,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:32,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:32,500 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 135 states. [2018-11-14 18:53:32,500 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 135 states. [2018-11-14 18:53:32,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:32,505 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2018-11-14 18:53:32,505 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2018-11-14 18:53:32,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:32,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:32,506 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:32,506 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:32,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-11-14 18:53:32,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 90 transitions. [2018-11-14 18:53:32,509 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 90 transitions. Word has length 46 [2018-11-14 18:53:32,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:32,509 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 90 transitions. [2018-11-14 18:53:32,509 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-14 18:53:32,509 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 90 transitions. [2018-11-14 18:53:32,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-14 18:53:32,510 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:32,510 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:32,510 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:32,511 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:32,511 INFO L82 PathProgramCache]: Analyzing trace with hash 726057309, now seen corresponding path program 4 times [2018-11-14 18:53:32,511 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:32,511 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:32,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:32,512 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:32,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:32,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:32,712 INFO L256 TraceCheckUtils]: 0: Hoare triple {3077#true} call ULTIMATE.init(); {3077#true} is VALID [2018-11-14 18:53:32,712 INFO L273 TraceCheckUtils]: 1: Hoare triple {3077#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3077#true} is VALID [2018-11-14 18:53:32,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {3077#true} assume true; {3077#true} is VALID [2018-11-14 18:53:32,713 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3077#true} {3077#true} #88#return; {3077#true} is VALID [2018-11-14 18:53:32,713 INFO L256 TraceCheckUtils]: 4: Hoare triple {3077#true} call #t~ret14 := main(); {3077#true} is VALID [2018-11-14 18:53:32,713 INFO L273 TraceCheckUtils]: 5: Hoare triple {3077#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3077#true} is VALID [2018-11-14 18:53:32,714 INFO L273 TraceCheckUtils]: 6: Hoare triple {3077#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {3079#(= main_~i~0 0)} is VALID [2018-11-14 18:53:32,714 INFO L273 TraceCheckUtils]: 7: Hoare triple {3079#(= main_~i~0 0)} assume true; {3079#(= main_~i~0 0)} is VALID [2018-11-14 18:53:32,715 INFO L273 TraceCheckUtils]: 8: Hoare triple {3079#(= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {3079#(= main_~i~0 0)} is VALID [2018-11-14 18:53:32,715 INFO L273 TraceCheckUtils]: 9: Hoare triple {3079#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,716 INFO L273 TraceCheckUtils]: 10: Hoare triple {3080#(<= main_~i~0 1)} assume true; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,716 INFO L273 TraceCheckUtils]: 11: Hoare triple {3080#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,716 INFO L273 TraceCheckUtils]: 12: Hoare triple {3080#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3081#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:32,717 INFO L273 TraceCheckUtils]: 13: Hoare triple {3081#(<= main_~i~0 2)} assume true; {3081#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:32,718 INFO L273 TraceCheckUtils]: 14: Hoare triple {3081#(<= main_~i~0 2)} assume !(~i~0 < ~SIZE~0); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,718 INFO L273 TraceCheckUtils]: 15: Hoare triple {3082#(<= ~SIZE~0 2)} ~i~0 := 0; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,719 INFO L273 TraceCheckUtils]: 16: Hoare triple {3082#(<= ~SIZE~0 2)} assume true; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,719 INFO L273 TraceCheckUtils]: 17: Hoare triple {3082#(<= ~SIZE~0 2)} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,720 INFO L273 TraceCheckUtils]: 18: Hoare triple {3082#(<= ~SIZE~0 2)} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,720 INFO L273 TraceCheckUtils]: 19: Hoare triple {3082#(<= ~SIZE~0 2)} assume true; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,721 INFO L273 TraceCheckUtils]: 20: Hoare triple {3082#(<= ~SIZE~0 2)} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,721 INFO L273 TraceCheckUtils]: 21: Hoare triple {3082#(<= ~SIZE~0 2)} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,725 INFO L273 TraceCheckUtils]: 22: Hoare triple {3082#(<= ~SIZE~0 2)} assume true; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,726 INFO L273 TraceCheckUtils]: 23: Hoare triple {3082#(<= ~SIZE~0 2)} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,726 INFO L273 TraceCheckUtils]: 24: Hoare triple {3082#(<= ~SIZE~0 2)} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,741 INFO L273 TraceCheckUtils]: 25: Hoare triple {3082#(<= ~SIZE~0 2)} assume true; {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,741 INFO L273 TraceCheckUtils]: 26: Hoare triple {3082#(<= ~SIZE~0 2)} assume !(~i~0 < ~SIZE~0); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,742 INFO L273 TraceCheckUtils]: 27: Hoare triple {3082#(<= ~SIZE~0 2)} ~i~0 := 0; {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:32,742 INFO L273 TraceCheckUtils]: 28: Hoare triple {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} assume true; {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:32,743 INFO L273 TraceCheckUtils]: 29: Hoare triple {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} is VALID [2018-11-14 18:53:32,743 INFO L273 TraceCheckUtils]: 30: Hoare triple {3083#(and (<= ~SIZE~0 2) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3084#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:32,744 INFO L273 TraceCheckUtils]: 31: Hoare triple {3084#(<= ~SIZE~0 (+ main_~i~0 1))} assume true; {3084#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:32,744 INFO L273 TraceCheckUtils]: 32: Hoare triple {3084#(<= ~SIZE~0 (+ main_~i~0 1))} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3084#(<= ~SIZE~0 (+ main_~i~0 1))} is VALID [2018-11-14 18:53:32,745 INFO L273 TraceCheckUtils]: 33: Hoare triple {3084#(<= ~SIZE~0 (+ main_~i~0 1))} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3085#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:32,745 INFO L273 TraceCheckUtils]: 34: Hoare triple {3085#(<= ~SIZE~0 main_~i~0)} assume true; {3085#(<= ~SIZE~0 main_~i~0)} is VALID [2018-11-14 18:53:32,746 INFO L273 TraceCheckUtils]: 35: Hoare triple {3085#(<= ~SIZE~0 main_~i~0)} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,747 INFO L273 TraceCheckUtils]: 36: Hoare triple {3078#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3078#false} is VALID [2018-11-14 18:53:32,747 INFO L273 TraceCheckUtils]: 37: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,747 INFO L273 TraceCheckUtils]: 38: Hoare triple {3078#false} assume !(~i~0 < ~SIZE~0); {3078#false} is VALID [2018-11-14 18:53:32,747 INFO L273 TraceCheckUtils]: 39: Hoare triple {3078#false} ~i~0 := 0; {3078#false} is VALID [2018-11-14 18:53:32,747 INFO L273 TraceCheckUtils]: 40: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,748 INFO L273 TraceCheckUtils]: 41: Hoare triple {3078#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,748 INFO L256 TraceCheckUtils]: 42: Hoare triple {3078#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {3078#false} is VALID [2018-11-14 18:53:32,748 INFO L273 TraceCheckUtils]: 43: Hoare triple {3078#false} ~cond := #in~cond; {3078#false} is VALID [2018-11-14 18:53:32,748 INFO L273 TraceCheckUtils]: 44: Hoare triple {3078#false} assume ~cond == 0; {3078#false} is VALID [2018-11-14 18:53:32,748 INFO L273 TraceCheckUtils]: 45: Hoare triple {3078#false} assume !false; {3078#false} is VALID [2018-11-14 18:53:32,750 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 10 proven. 12 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:53:32,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:53:32,750 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-14 18:53:32,758 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:53:32,784 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:53:32,784 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:53:32,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:32,801 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:53:32,943 INFO L256 TraceCheckUtils]: 0: Hoare triple {3077#true} call ULTIMATE.init(); {3077#true} is VALID [2018-11-14 18:53:32,943 INFO L273 TraceCheckUtils]: 1: Hoare triple {3077#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 0; {3077#true} is VALID [2018-11-14 18:53:32,943 INFO L273 TraceCheckUtils]: 2: Hoare triple {3077#true} assume true; {3077#true} is VALID [2018-11-14 18:53:32,944 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3077#true} {3077#true} #88#return; {3077#true} is VALID [2018-11-14 18:53:32,944 INFO L256 TraceCheckUtils]: 4: Hoare triple {3077#true} call #t~ret14 := main(); {3077#true} is VALID [2018-11-14 18:53:32,944 INFO L273 TraceCheckUtils]: 5: Hoare triple {3077#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647;~SIZE~0 := #t~nondet1;havoc #t~nondet1; {3077#true} is VALID [2018-11-14 18:53:32,945 INFO L273 TraceCheckUtils]: 6: Hoare triple {3077#true} assume ~SIZE~0 > 1;havoc ~i~0;havoc ~tmp~0;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b~0.base, ~#b~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#a_copy~0.base, ~#a_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);call ~#b_copy~0.base, ~#b_copy~0.offset := #Ultimate.alloc(~SIZE~0 * 4);~i~0 := 0; {3107#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:32,945 INFO L273 TraceCheckUtils]: 7: Hoare triple {3107#(<= main_~i~0 0)} assume true; {3107#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:32,946 INFO L273 TraceCheckUtils]: 8: Hoare triple {3107#(<= main_~i~0 0)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {3107#(<= main_~i~0 0)} is VALID [2018-11-14 18:53:32,946 INFO L273 TraceCheckUtils]: 9: Hoare triple {3107#(<= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,946 INFO L273 TraceCheckUtils]: 10: Hoare triple {3080#(<= main_~i~0 1)} assume true; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,947 INFO L273 TraceCheckUtils]: 11: Hoare triple {3080#(<= main_~i~0 1)} assume !!(~i~0 < ~SIZE~0);call #t~mem3 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem3, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem3;call #t~mem4 := read~int(~#b_copy~0.base, ~#b_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4);call write~int(#t~mem4, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);havoc #t~mem4; {3080#(<= main_~i~0 1)} is VALID [2018-11-14 18:53:32,948 INFO L273 TraceCheckUtils]: 12: Hoare triple {3080#(<= main_~i~0 1)} #t~post2 := ~i~0;~i~0 := #t~post2 + 1;havoc #t~post2; {3081#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:32,948 INFO L273 TraceCheckUtils]: 13: Hoare triple {3081#(<= main_~i~0 2)} assume true; {3081#(<= main_~i~0 2)} is VALID [2018-11-14 18:53:32,949 INFO L273 TraceCheckUtils]: 14: Hoare triple {3081#(<= main_~i~0 2)} assume !(~i~0 < ~SIZE~0); {3082#(<= ~SIZE~0 2)} is VALID [2018-11-14 18:53:32,950 INFO L273 TraceCheckUtils]: 15: Hoare triple {3082#(<= ~SIZE~0 2)} ~i~0 := 0; {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,950 INFO L273 TraceCheckUtils]: 16: Hoare triple {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} assume true; {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,951 INFO L273 TraceCheckUtils]: 17: Hoare triple {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,952 INFO L273 TraceCheckUtils]: 18: Hoare triple {3135#(and (<= 0 main_~i~0) (<= ~SIZE~0 2))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,953 INFO L273 TraceCheckUtils]: 19: Hoare triple {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} assume true; {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,954 INFO L273 TraceCheckUtils]: 20: Hoare triple {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,954 INFO L273 TraceCheckUtils]: 21: Hoare triple {3145#(and (<= 1 main_~i~0) (<= ~SIZE~0 2))} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3155#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,955 INFO L273 TraceCheckUtils]: 22: Hoare triple {3155#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} assume true; {3155#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} is VALID [2018-11-14 18:53:32,956 INFO L273 TraceCheckUtils]: 23: Hoare triple {3155#(and (<= 2 main_~i~0) (<= ~SIZE~0 2))} assume !!(~i~0 < ~SIZE~0);call #t~mem6 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem6;havoc #t~mem6;call #t~mem7 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem7, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem7;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,956 INFO L273 TraceCheckUtils]: 24: Hoare triple {3078#false} #t~post5 := ~i~0;~i~0 := #t~post5 + 1;havoc #t~post5; {3078#false} is VALID [2018-11-14 18:53:32,957 INFO L273 TraceCheckUtils]: 25: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {3078#false} assume !(~i~0 < ~SIZE~0); {3078#false} is VALID [2018-11-14 18:53:32,957 INFO L273 TraceCheckUtils]: 27: Hoare triple {3078#false} ~i~0 := 0; {3078#false} is VALID [2018-11-14 18:53:32,957 INFO L273 TraceCheckUtils]: 28: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,957 INFO L273 TraceCheckUtils]: 29: Hoare triple {3078#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,958 INFO L273 TraceCheckUtils]: 30: Hoare triple {3078#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3078#false} is VALID [2018-11-14 18:53:32,958 INFO L273 TraceCheckUtils]: 31: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,958 INFO L273 TraceCheckUtils]: 32: Hoare triple {3078#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,958 INFO L273 TraceCheckUtils]: 33: Hoare triple {3078#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3078#false} is VALID [2018-11-14 18:53:32,958 INFO L273 TraceCheckUtils]: 34: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 35: Hoare triple {3078#false} assume !!(~i~0 < ~SIZE~0);call #t~mem9 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);~tmp~0 := #t~mem9;havoc #t~mem9;call #t~mem10 := read~int(~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4);call write~int(#t~mem10, ~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);havoc #t~mem10;call write~int(~tmp~0, ~#b~0.base, ~#b~0.offset + ~i~0 * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 36: Hoare triple {3078#false} #t~post8 := ~i~0;~i~0 := #t~post8 + 1;havoc #t~post8; {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 37: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 38: Hoare triple {3078#false} assume !(~i~0 < ~SIZE~0); {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 39: Hoare triple {3078#false} ~i~0 := 0; {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 40: Hoare triple {3078#false} assume true; {3078#false} is VALID [2018-11-14 18:53:32,959 INFO L273 TraceCheckUtils]: 41: Hoare triple {3078#false} assume !!(~i~0 < ~SIZE~0);call #t~mem12 := read~int(~#a~0.base, ~#a~0.offset + ~i~0 * 4, 4);call #t~mem13 := read~int(~#a_copy~0.base, ~#a_copy~0.offset + (~SIZE~0 - ~i~0 - 1) * 4, 4); {3078#false} is VALID [2018-11-14 18:53:32,960 INFO L256 TraceCheckUtils]: 42: Hoare triple {3078#false} call __VERIFIER_assert((if #t~mem12 == #t~mem13 then 1 else 0)); {3078#false} is VALID [2018-11-14 18:53:32,960 INFO L273 TraceCheckUtils]: 43: Hoare triple {3078#false} ~cond := #in~cond; {3078#false} is VALID [2018-11-14 18:53:32,960 INFO L273 TraceCheckUtils]: 44: Hoare triple {3078#false} assume ~cond == 0; {3078#false} is VALID [2018-11-14 18:53:32,960 INFO L273 TraceCheckUtils]: 45: Hoare triple {3078#false} assume !false; {3078#false} is VALID [2018-11-14 18:53:32,961 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 15 proven. 7 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-14 18:53:32,982 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:53:32,982 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2018-11-14 18:53:32,982 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 46 [2018-11-14 18:53:32,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:53:32,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-14 18:53:33,034 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:33,034 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-14 18:53:33,034 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-14 18:53:33,034 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=111, Unknown=0, NotChecked=0, Total=156 [2018-11-14 18:53:33,035 INFO L87 Difference]: Start difference. First operand 83 states and 90 transitions. Second operand 13 states. [2018-11-14 18:53:34,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:34,927 INFO L93 Difference]: Finished difference Result 151 states and 163 transitions. [2018-11-14 18:53:34,928 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-14 18:53:34,928 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 46 [2018-11-14 18:53:34,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:53:34,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:53:34,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2018-11-14 18:53:34,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-14 18:53:34,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2018-11-14 18:53:34,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 140 transitions. [2018-11-14 18:53:35,149 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:53:35,152 INFO L225 Difference]: With dead ends: 151 [2018-11-14 18:53:35,152 INFO L226 Difference]: Without dead ends: 107 [2018-11-14 18:53:35,153 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2018-11-14 18:53:35,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-14 18:53:35,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 87. [2018-11-14 18:53:35,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:53:35,603 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 87 states. [2018-11-14 18:53:35,604 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 87 states. [2018-11-14 18:53:35,604 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 87 states. [2018-11-14 18:53:35,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:35,608 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2018-11-14 18:53:35,608 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2018-11-14 18:53:35,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:35,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:35,609 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 107 states. [2018-11-14 18:53:35,609 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 107 states. [2018-11-14 18:53:35,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:53:35,613 INFO L93 Difference]: Finished difference Result 107 states and 113 transitions. [2018-11-14 18:53:35,613 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 113 transitions. [2018-11-14 18:53:35,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:53:35,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:53:35,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:53:35,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:53:35,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-14 18:53:35,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 91 transitions. [2018-11-14 18:53:35,617 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 91 transitions. Word has length 46 [2018-11-14 18:53:35,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:53:35,617 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 91 transitions. [2018-11-14 18:53:35,617 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-14 18:53:35,617 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-14 18:53:35,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-14 18:53:35,618 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:53:35,618 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:53:35,619 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:53:35,619 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:53:35,619 INFO L82 PathProgramCache]: Analyzing trace with hash 646934358, now seen corresponding path program 1 times [2018-11-14 18:53:35,619 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:53:35,619 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:53:35,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:35,620 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:53:35,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:53:35,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:53:36,183 WARN L179 SmtUtils]: Spent 118.00 ms on a formula simplification. DAG size of input: 80 DAG size of output: 31 [2018-11-14 18:53:36,414 WARN L179 SmtUtils]: Spent 148.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 42 [2018-11-14 18:53:36,655 WARN L179 SmtUtils]: Spent 172.00 ms on a formula simplification. DAG size of input: 76 DAG size of output: 44 [2018-11-14 18:53:36,662 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: zero is neutral element of plus operator at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:83) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:128) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:151) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:152) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:429) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:312) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:123) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-14 18:53:36,667 INFO L168 Benchmark]: Toolchain (without parser) took 43061.53 ms. Allocated memory was 1.5 GB in the beginning and 2.8 GB in the end (delta: 1.2 GB). Free memory was 1.4 GB in the beginning and 2.7 GB in the end (delta: -1.3 GB). Peak memory consumption was 921.5 MB. Max. memory is 7.1 GB. [2018-11-14 18:53:36,668 INFO L168 Benchmark]: CDTParser took 0.50 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 18:53:36,668 INFO L168 Benchmark]: CACSL2BoogieTranslator took 311.42 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-14 18:53:36,669 INFO L168 Benchmark]: Boogie Preprocessor took 65.10 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 18:53:36,669 INFO L168 Benchmark]: RCFGBuilder took 1104.32 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 761.8 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -783.4 MB). Peak memory consumption was 14.6 MB. Max. memory is 7.1 GB. [2018-11-14 18:53:36,670 INFO L168 Benchmark]: TraceAbstraction took 41571.60 ms. Allocated memory was 2.3 GB in the beginning and 2.8 GB in the end (delta: 439.4 MB). Free memory was 2.2 GB in the beginning and 2.7 GB in the end (delta: -487.4 MB). Peak memory consumption was 932.5 MB. Max. memory is 7.1 GB. [2018-11-14 18:53:36,673 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.50 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 311.42 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 65.10 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 1104.32 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 761.8 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -783.4 MB). Peak memory consumption was 14.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 41571.60 ms. Allocated memory was 2.3 GB in the beginning and 2.8 GB in the end (delta: 439.4 MB). Free memory was 2.2 GB in the beginning and 2.7 GB in the end (delta: -487.4 MB). Peak memory consumption was 932.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: zero is neutral element of plus operator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: zero is neutral element of plus operator: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:83) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...