java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/sum_array_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 13:04:32,240 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 13:04:32,242 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 13:04:32,255 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 13:04:32,255 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 13:04:32,256 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 13:04:32,258 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 13:04:32,260 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 13:04:32,262 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 13:04:32,263 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 13:04:32,264 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 13:04:32,264 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 13:04:32,265 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 13:04:32,266 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 13:04:32,267 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 13:04:32,268 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 13:04:32,269 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 13:04:32,271 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 13:04:32,274 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 13:04:32,276 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 13:04:32,281 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 13:04:32,283 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 13:04:32,285 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 13:04:32,286 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 13:04:32,286 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 13:04:32,287 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 13:04:32,288 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 13:04:32,289 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 13:04:32,290 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 13:04:32,291 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 13:04:32,292 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 13:04:32,293 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 13:04:32,293 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 13:04:32,293 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 13:04:32,294 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 13:04:32,295 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 13:04:32,296 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 13:04:32,321 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 13:04:32,321 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 13:04:32,322 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 13:04:32,322 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 13:04:32,324 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 13:04:32,324 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 13:04:32,325 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 13:04:32,325 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 13:04:32,325 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 13:04:32,325 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 13:04:32,325 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 13:04:32,327 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 13:04:32,327 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 13:04:32,327 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 13:04:32,328 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 13:04:32,328 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 13:04:32,328 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 13:04:32,329 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 13:04:32,329 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 13:04:32,329 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 13:04:32,329 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 13:04:32,329 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 13:04:32,330 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 13:04:32,330 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:04:32,330 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 13:04:32,330 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 13:04:32,330 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 13:04:32,332 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 13:04:32,332 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 13:04:32,332 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 13:04:32,333 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 13:04:32,397 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 13:04:32,415 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 13:04:32,419 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 13:04:32,421 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 13:04:32,421 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 13:04:32,422 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/sum_array_true-unreach-call.i [2018-11-23 13:04:32,486 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ece0cac9e/14f48efe15dc49fb93f0b7a52f7e1ddb/FLAGa5eb14955 [2018-11-23 13:04:32,955 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 13:04:32,956 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/sum_array_true-unreach-call.i [2018-11-23 13:04:32,963 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ece0cac9e/14f48efe15dc49fb93f0b7a52f7e1ddb/FLAGa5eb14955 [2018-11-23 13:04:33,317 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/ece0cac9e/14f48efe15dc49fb93f0b7a52f7e1ddb [2018-11-23 13:04:33,328 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 13:04:33,329 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 13:04:33,331 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 13:04:33,331 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 13:04:33,336 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 13:04:33,337 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,340 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@275e0492 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33, skipping insertion in model container [2018-11-23 13:04:33,341 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,352 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 13:04:33,378 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 13:04:33,646 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:04:33,651 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 13:04:33,693 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 13:04:33,723 INFO L195 MainTranslator]: Completed translation [2018-11-23 13:04:33,724 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33 WrapperNode [2018-11-23 13:04:33,724 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 13:04:33,726 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 13:04:33,727 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 13:04:33,727 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 13:04:33,736 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,745 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,754 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 13:04:33,754 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 13:04:33,755 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 13:04:33,755 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 13:04:33,766 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,766 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,768 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,769 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,782 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,790 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,792 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... [2018-11-23 13:04:33,794 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 13:04:33,795 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 13:04:33,795 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 13:04:33,795 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 13:04:33,796 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 13:04:33,926 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 13:04:33,927 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 13:04:33,927 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 13:04:33,927 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 13:04:33,927 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 13:04:33,927 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 13:04:33,927 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 13:04:33,928 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 13:04:33,928 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 13:04:33,928 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 13:04:33,928 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 13:04:33,928 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 13:04:34,777 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 13:04:34,778 INFO L280 CfgBuilder]: Removed 4 assue(true) statements. [2018-11-23 13:04:34,778 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:04:34 BoogieIcfgContainer [2018-11-23 13:04:34,778 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 13:04:34,779 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 13:04:34,780 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 13:04:34,783 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 13:04:34,783 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 01:04:33" (1/3) ... [2018-11-23 13:04:34,784 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74913551 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:04:34, skipping insertion in model container [2018-11-23 13:04:34,784 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 01:04:33" (2/3) ... [2018-11-23 13:04:34,785 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@74913551 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 01:04:34, skipping insertion in model container [2018-11-23 13:04:34,785 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 01:04:34" (3/3) ... [2018-11-23 13:04:34,787 INFO L112 eAbstractionObserver]: Analyzing ICFG sum_array_true-unreach-call.i [2018-11-23 13:04:34,796 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 13:04:34,805 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 13:04:34,823 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 13:04:34,864 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 13:04:34,864 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 13:04:34,865 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 13:04:34,865 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 13:04:34,865 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 13:04:34,865 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 13:04:34,865 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 13:04:34,866 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 13:04:34,866 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 13:04:34,884 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states. [2018-11-23 13:04:34,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 13:04:34,891 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:34,892 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:34,895 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:34,901 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:34,901 INFO L82 PathProgramCache]: Analyzing trace with hash -1823924036, now seen corresponding path program 1 times [2018-11-23 13:04:34,903 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:34,904 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:34,959 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:34,959 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:34,959 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:35,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:35,071 INFO L256 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {35#true} is VALID [2018-11-23 13:04:35,075 INFO L273 TraceCheckUtils]: 1: Hoare triple {35#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {35#true} is VALID [2018-11-23 13:04:35,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 13:04:35,076 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #85#return; {35#true} is VALID [2018-11-23 13:04:35,077 INFO L256 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret15 := main(); {35#true} is VALID [2018-11-23 13:04:35,077 INFO L273 TraceCheckUtils]: 5: Hoare triple {35#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {35#true} is VALID [2018-11-23 13:04:35,079 INFO L273 TraceCheckUtils]: 6: Hoare triple {35#true} assume !true; {36#false} is VALID [2018-11-23 13:04:35,079 INFO L273 TraceCheckUtils]: 7: Hoare triple {36#false} ~i~0 := 0; {36#false} is VALID [2018-11-23 13:04:35,079 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 13:04:35,080 INFO L273 TraceCheckUtils]: 9: Hoare triple {36#false} ~i~0 := 0; {36#false} is VALID [2018-11-23 13:04:35,080 INFO L273 TraceCheckUtils]: 10: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 13:04:35,080 INFO L273 TraceCheckUtils]: 11: Hoare triple {36#false} ~i~0 := 0; {36#false} is VALID [2018-11-23 13:04:35,081 INFO L273 TraceCheckUtils]: 12: Hoare triple {36#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {36#false} is VALID [2018-11-23 13:04:35,081 INFO L256 TraceCheckUtils]: 13: Hoare triple {36#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {36#false} is VALID [2018-11-23 13:04:35,081 INFO L273 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2018-11-23 13:04:35,082 INFO L273 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2018-11-23 13:04:35,082 INFO L273 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2018-11-23 13:04:35,085 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:35,087 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:04:35,088 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 13:04:35,092 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-23 13:04:35,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:35,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 13:04:35,312 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:35,312 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 13:04:35,320 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 13:04:35,321 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:04:35,323 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 2 states. [2018-11-23 13:04:35,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:35,449 INFO L93 Difference]: Finished difference Result 55 states and 73 transitions. [2018-11-23 13:04:35,449 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 13:04:35,449 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 17 [2018-11-23 13:04:35,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:35,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:04:35,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 73 transitions. [2018-11-23 13:04:35,464 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 13:04:35,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 73 transitions. [2018-11-23 13:04:35,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 73 transitions. [2018-11-23 13:04:35,728 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-23 13:04:35,740 INFO L225 Difference]: With dead ends: 55 [2018-11-23 13:04:35,740 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 13:04:35,744 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 13:04:35,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 13:04:35,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-23 13:04:35,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:35,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-23 13:04:35,788 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 13:04:35,789 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 13:04:35,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:35,794 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 13:04:35,794 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 13:04:35,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:35,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:35,795 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 13:04:35,795 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 13:04:35,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:35,800 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 13:04:35,800 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 13:04:35,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:35,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:35,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:35,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:35,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 13:04:35,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2018-11-23 13:04:35,807 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 17 [2018-11-23 13:04:35,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:35,807 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2018-11-23 13:04:35,807 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 13:04:35,807 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 13:04:35,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2018-11-23 13:04:35,808 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:35,809 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:35,809 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:35,809 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:35,810 INFO L82 PathProgramCache]: Analyzing trace with hash -1169658974, now seen corresponding path program 1 times [2018-11-23 13:04:35,810 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:35,810 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:35,811 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:35,811 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:35,812 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:35,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:36,247 INFO L256 TraceCheckUtils]: 0: Hoare triple {200#true} call ULTIMATE.init(); {200#true} is VALID [2018-11-23 13:04:36,248 INFO L273 TraceCheckUtils]: 1: Hoare triple {200#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {200#true} is VALID [2018-11-23 13:04:36,248 INFO L273 TraceCheckUtils]: 2: Hoare triple {200#true} assume true; {200#true} is VALID [2018-11-23 13:04:36,248 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {200#true} {200#true} #85#return; {200#true} is VALID [2018-11-23 13:04:36,249 INFO L256 TraceCheckUtils]: 4: Hoare triple {200#true} call #t~ret15 := main(); {200#true} is VALID [2018-11-23 13:04:36,267 INFO L273 TraceCheckUtils]: 5: Hoare triple {200#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {202#(= main_~i~0 0)} is VALID [2018-11-23 13:04:36,276 INFO L273 TraceCheckUtils]: 6: Hoare triple {202#(= main_~i~0 0)} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,285 INFO L273 TraceCheckUtils]: 7: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} ~i~0 := 0; {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,286 INFO L273 TraceCheckUtils]: 8: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,287 INFO L273 TraceCheckUtils]: 9: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} ~i~0 := 0; {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,289 INFO L273 TraceCheckUtils]: 10: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,306 INFO L273 TraceCheckUtils]: 11: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} ~i~0 := 0; {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} is VALID [2018-11-23 13:04:36,322 INFO L273 TraceCheckUtils]: 12: Hoare triple {203#(<= main_~M~0 (* 4294967296 (div main_~M~0 4294967296)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {201#false} is VALID [2018-11-23 13:04:36,323 INFO L256 TraceCheckUtils]: 13: Hoare triple {201#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {201#false} is VALID [2018-11-23 13:04:36,323 INFO L273 TraceCheckUtils]: 14: Hoare triple {201#false} ~cond := #in~cond; {201#false} is VALID [2018-11-23 13:04:36,323 INFO L273 TraceCheckUtils]: 15: Hoare triple {201#false} assume 0 == ~cond; {201#false} is VALID [2018-11-23 13:04:36,324 INFO L273 TraceCheckUtils]: 16: Hoare triple {201#false} assume !false; {201#false} is VALID [2018-11-23 13:04:36,329 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:36,330 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 13:04:36,330 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 13:04:36,336 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-23 13:04:36,336 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:36,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 13:04:36,403 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:36,403 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 13:04:36,404 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 13:04:36,404 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 13:04:36,404 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand 4 states. [2018-11-23 13:04:37,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:37,164 INFO L93 Difference]: Finished difference Result 62 states and 73 transitions. [2018-11-23 13:04:37,164 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 13:04:37,164 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 17 [2018-11-23 13:04:37,164 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:37,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:04:37,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 13:04:37,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 13:04:37,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 73 transitions. [2018-11-23 13:04:37,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 73 transitions. [2018-11-23 13:04:37,326 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-23 13:04:37,330 INFO L225 Difference]: With dead ends: 62 [2018-11-23 13:04:37,330 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 13:04:37,332 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-11-23 13:04:37,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 13:04:37,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 30. [2018-11-23 13:04:37,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:37,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 30 states. [2018-11-23 13:04:37,352 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 30 states. [2018-11-23 13:04:37,352 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 30 states. [2018-11-23 13:04:37,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:37,358 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 13:04:37,358 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 13:04:37,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:37,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:37,359 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 39 states. [2018-11-23 13:04:37,359 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 39 states. [2018-11-23 13:04:37,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:37,364 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 13:04:37,364 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 13:04:37,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:37,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:37,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:37,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:37,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-11-23 13:04:37,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 33 transitions. [2018-11-23 13:04:37,368 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 33 transitions. Word has length 17 [2018-11-23 13:04:37,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:37,369 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 33 transitions. [2018-11-23 13:04:37,369 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 13:04:37,369 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-23 13:04:37,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2018-11-23 13:04:37,370 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:37,370 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:37,370 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:37,371 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:37,371 INFO L82 PathProgramCache]: Analyzing trace with hash -1835570138, now seen corresponding path program 1 times [2018-11-23 13:04:37,371 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:37,371 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:37,372 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:37,373 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:37,373 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:37,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:38,498 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 19 [2018-11-23 13:04:39,312 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 25 [2018-11-23 13:04:39,828 WARN L180 SmtUtils]: Spent 163.00 ms on a formula simplification. DAG size of input: 132 DAG size of output: 27 [2018-11-23 13:04:40,445 WARN L180 SmtUtils]: Spent 258.00 ms on a formula simplification. DAG size of input: 158 DAG size of output: 42 [2018-11-23 13:04:40,626 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 32 [2018-11-23 13:04:41,030 WARN L180 SmtUtils]: Spent 196.00 ms on a formula simplification. DAG size of input: 129 DAG size of output: 47 [2018-11-23 13:04:41,091 INFO L256 TraceCheckUtils]: 0: Hoare triple {414#true} call ULTIMATE.init(); {414#true} is VALID [2018-11-23 13:04:41,092 INFO L273 TraceCheckUtils]: 1: Hoare triple {414#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {414#true} is VALID [2018-11-23 13:04:41,092 INFO L273 TraceCheckUtils]: 2: Hoare triple {414#true} assume true; {414#true} is VALID [2018-11-23 13:04:41,093 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {414#true} {414#true} #85#return; {414#true} is VALID [2018-11-23 13:04:41,093 INFO L256 TraceCheckUtils]: 4: Hoare triple {414#true} call #t~ret15 := main(); {414#true} is VALID [2018-11-23 13:04:41,096 INFO L273 TraceCheckUtils]: 5: Hoare triple {414#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:41,097 INFO L273 TraceCheckUtils]: 6: Hoare triple {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:41,108 INFO L273 TraceCheckUtils]: 7: Hoare triple {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:41,109 INFO L273 TraceCheckUtils]: 8: Hoare triple {416#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {417#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,111 INFO L273 TraceCheckUtils]: 9: Hoare triple {417#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,111 INFO L273 TraceCheckUtils]: 10: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,113 INFO L273 TraceCheckUtils]: 11: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,114 INFO L273 TraceCheckUtils]: 12: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,116 INFO L273 TraceCheckUtils]: 13: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,117 INFO L273 TraceCheckUtils]: 14: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,119 INFO L273 TraceCheckUtils]: 15: Hoare triple {418#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {419#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:41,121 INFO L273 TraceCheckUtils]: 16: Hoare triple {419#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {420#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) 0))) (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:41,126 INFO L273 TraceCheckUtils]: 17: Hoare triple {420#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) 0))) (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {421#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) 0) (+ (select (select |#memory_int| |main_~#A~0.base|) 0) (select (select |#memory_int| |main_~#B~0.base|) 0))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,128 INFO L273 TraceCheckUtils]: 18: Hoare triple {421#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) 0) (+ (select (select |#memory_int| |main_~#A~0.base|) 0) (select (select |#memory_int| |main_~#B~0.base|) 0))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {421#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) 0) (+ (select (select |#memory_int| |main_~#A~0.base|) 0) (select (select |#memory_int| |main_~#B~0.base|) 0))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:41,129 INFO L273 TraceCheckUtils]: 19: Hoare triple {421#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) 0) (+ (select (select |#memory_int| |main_~#A~0.base|) 0) (select (select |#memory_int| |main_~#B~0.base|) 0))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {422#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (or (and (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#A~0.offset| 0)) (not (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (* 17179869184 (div main_~i~0 4294967296))))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0))} is VALID [2018-11-23 13:04:41,131 INFO L273 TraceCheckUtils]: 20: Hoare triple {422#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (or (and (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#A~0.offset| 0)) (not (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (* 17179869184 (div main_~i~0 4294967296))))) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 1)) (= |main_~#B~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {423#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:04:41,132 INFO L256 TraceCheckUtils]: 21: Hoare triple {423#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {424#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:04:41,133 INFO L273 TraceCheckUtils]: 22: Hoare triple {424#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {425#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:04:41,133 INFO L273 TraceCheckUtils]: 23: Hoare triple {425#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {415#false} is VALID [2018-11-23 13:04:41,134 INFO L273 TraceCheckUtils]: 24: Hoare triple {415#false} assume !false; {415#false} is VALID [2018-11-23 13:04:41,143 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 13:04:41,143 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:04:41,143 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:04:41,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:41,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:41,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:41,232 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:04:41,552 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 29 [2018-11-23 13:04:41,647 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,648 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:41,650 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 13:04:41,654 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:41,661 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:41,669 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:41,670 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:13 [2018-11-23 13:04:41,673 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:41,673 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#valid_23|]. (let ((.cse0 (store |v_#valid_23| |main_~#A~0.base| 1))) (and (= (select (store .cse0 |main_~#B~0.base| 1) |main_~#C~0.base|) 0) (= 0 (select .cse0 |main_~#B~0.base|)))) [2018-11-23 13:04:41,673 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:04:41,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 31 [2018-11-23 13:04:41,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 17 [2018-11-23 13:04:42,010 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,037 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,081 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,081 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:34, output treesize:30 [2018-11-23 13:04:42,444 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 39 [2018-11-23 13:04:42,460 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 10 [2018-11-23 13:04:42,462 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,480 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 7 [2018-11-23 13:04:42,482 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,492 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 6 [2018-11-23 13:04:42,494 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,496 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,510 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:42,510 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 7 variables, input treesize:51, output treesize:6 [2018-11-23 13:04:42,514 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:42,514 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#A~0.base|, |main_~#A~0.offset|, |main_~#B~0.base|, |main_~#B~0.offset|, |main_~#C~0.base|, |main_~#C~0.offset|]. (let ((.cse0 (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|)) (.cse2 (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|)) (.cse1 (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|))) (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= |main_#t~mem14| .cse0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= .cse0 (+ .cse1 .cse2)) (= |main_#t~mem13| .cse2) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= |main_#t~mem12| .cse1))) [2018-11-23 13:04:42,515 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem13| (+ |main_#t~mem14| (- |main_#t~mem12|))) [2018-11-23 13:04:42,557 INFO L256 TraceCheckUtils]: 0: Hoare triple {414#true} call ULTIMATE.init(); {414#true} is VALID [2018-11-23 13:04:42,558 INFO L273 TraceCheckUtils]: 1: Hoare triple {414#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {414#true} is VALID [2018-11-23 13:04:42,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {414#true} assume true; {414#true} is VALID [2018-11-23 13:04:42,559 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {414#true} {414#true} #85#return; {414#true} is VALID [2018-11-23 13:04:42,559 INFO L256 TraceCheckUtils]: 4: Hoare triple {414#true} call #t~ret15 := main(); {414#true} is VALID [2018-11-23 13:04:42,567 INFO L273 TraceCheckUtils]: 5: Hoare triple {414#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,569 INFO L273 TraceCheckUtils]: 6: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,569 INFO L273 TraceCheckUtils]: 7: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,570 INFO L273 TraceCheckUtils]: 8: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,571 INFO L273 TraceCheckUtils]: 9: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,572 INFO L273 TraceCheckUtils]: 10: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,573 INFO L273 TraceCheckUtils]: 11: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,575 INFO L273 TraceCheckUtils]: 12: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,577 INFO L273 TraceCheckUtils]: 13: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,578 INFO L273 TraceCheckUtils]: 14: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,578 INFO L273 TraceCheckUtils]: 15: Hoare triple {444#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {475#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:42,580 INFO L273 TraceCheckUtils]: 16: Hoare triple {475#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,581 INFO L273 TraceCheckUtils]: 17: Hoare triple {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,582 INFO L273 TraceCheckUtils]: 18: Hoare triple {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:42,583 INFO L273 TraceCheckUtils]: 19: Hoare triple {479#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {489#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:42,587 INFO L273 TraceCheckUtils]: 20: Hoare triple {489#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {423#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:04:42,589 INFO L256 TraceCheckUtils]: 21: Hoare triple {423#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {496#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:04:42,590 INFO L273 TraceCheckUtils]: 22: Hoare triple {496#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {500#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:04:42,590 INFO L273 TraceCheckUtils]: 23: Hoare triple {500#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {415#false} is VALID [2018-11-23 13:04:42,590 INFO L273 TraceCheckUtils]: 24: Hoare triple {415#false} assume !false; {415#false} is VALID [2018-11-23 13:04:42,593 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 13:04:42,613 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:04:42,613 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 18 [2018-11-23 13:04:42,614 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 25 [2018-11-23 13:04:42,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:42,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 13:04:42,749 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:42,749 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 13:04:42,749 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 13:04:42,750 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2018-11-23 13:04:42,750 INFO L87 Difference]: Start difference. First operand 30 states and 33 transitions. Second operand 18 states. [2018-11-23 13:04:44,652 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 56 DAG size of output: 40 [2018-11-23 13:04:45,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:45,651 INFO L93 Difference]: Finished difference Result 63 states and 70 transitions. [2018-11-23 13:04:45,651 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 13:04:45,651 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 25 [2018-11-23 13:04:45,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:45,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:04:45,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 70 transitions. [2018-11-23 13:04:45,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 13:04:45,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 70 transitions. [2018-11-23 13:04:45,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 70 transitions. [2018-11-23 13:04:45,787 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:45,790 INFO L225 Difference]: With dead ends: 63 [2018-11-23 13:04:45,790 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 13:04:45,791 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 20 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=124, Invalid=476, Unknown=0, NotChecked=0, Total=600 [2018-11-23 13:04:45,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 13:04:45,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 39. [2018-11-23 13:04:45,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:45,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 39 states. [2018-11-23 13:04:45,840 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 39 states. [2018-11-23 13:04:45,841 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 39 states. [2018-11-23 13:04:45,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:45,844 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-23 13:04:45,844 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-23 13:04:45,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:45,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:45,845 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 46 states. [2018-11-23 13:04:45,845 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 46 states. [2018-11-23 13:04:45,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:45,851 INFO L93 Difference]: Finished difference Result 46 states and 49 transitions. [2018-11-23 13:04:45,851 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 49 transitions. [2018-11-23 13:04:45,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:45,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:45,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:45,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:45,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 13:04:45,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2018-11-23 13:04:45,855 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 25 [2018-11-23 13:04:45,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:45,855 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2018-11-23 13:04:45,855 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 13:04:45,855 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2018-11-23 13:04:45,858 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-23 13:04:45,858 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:45,861 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:45,861 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:45,861 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:45,861 INFO L82 PathProgramCache]: Analyzing trace with hash 997765806, now seen corresponding path program 1 times [2018-11-23 13:04:45,862 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:45,862 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:45,863 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:45,863 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:45,863 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:45,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:46,644 INFO L256 TraceCheckUtils]: 0: Hoare triple {755#true} call ULTIMATE.init(); {755#true} is VALID [2018-11-23 13:04:46,645 INFO L273 TraceCheckUtils]: 1: Hoare triple {755#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {755#true} is VALID [2018-11-23 13:04:46,645 INFO L273 TraceCheckUtils]: 2: Hoare triple {755#true} assume true; {755#true} is VALID [2018-11-23 13:04:46,646 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {755#true} {755#true} #85#return; {755#true} is VALID [2018-11-23 13:04:46,646 INFO L256 TraceCheckUtils]: 4: Hoare triple {755#true} call #t~ret15 := main(); {755#true} is VALID [2018-11-23 13:04:46,647 INFO L273 TraceCheckUtils]: 5: Hoare triple {755#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {757#(= main_~i~0 0)} is VALID [2018-11-23 13:04:46,649 INFO L273 TraceCheckUtils]: 6: Hoare triple {757#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {758#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 1) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,650 INFO L273 TraceCheckUtils]: 7: Hoare triple {758#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 1) main_~M~0) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {758#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 1) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,651 INFO L273 TraceCheckUtils]: 8: Hoare triple {758#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 1) main_~M~0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {759#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0))} is VALID [2018-11-23 13:04:46,652 INFO L273 TraceCheckUtils]: 9: Hoare triple {759#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {760#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296)))))} is VALID [2018-11-23 13:04:46,653 INFO L273 TraceCheckUtils]: 10: Hoare triple {760#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296)))))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {760#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296)))))} is VALID [2018-11-23 13:04:46,655 INFO L273 TraceCheckUtils]: 11: Hoare triple {760#(and (<= 1 main_~i~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) main_~M~0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {761#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (or (<= (div main_~i~0 4294967296) 0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) (+ main_~M~0 1))) (< 0 (+ (div main_~i~0 4294967296) 1)))} is VALID [2018-11-23 13:04:46,656 INFO L273 TraceCheckUtils]: 12: Hoare triple {761#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (or (<= (div main_~i~0 4294967296) 0) (<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0) (+ main_~M~0 1))) (< 0 (+ (div main_~i~0 4294967296) 1)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} is VALID [2018-11-23 13:04:46,657 INFO L273 TraceCheckUtils]: 13: Hoare triple {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} ~i~0 := 0; {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,658 INFO L273 TraceCheckUtils]: 14: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,659 INFO L273 TraceCheckUtils]: 15: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,661 INFO L273 TraceCheckUtils]: 16: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {764#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296))))} is VALID [2018-11-23 13:04:46,663 INFO L273 TraceCheckUtils]: 17: Hoare triple {764#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1) (+ main_~M~0 (* 4294967296 (div main_~i~0 4294967296))))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {756#false} is VALID [2018-11-23 13:04:46,664 INFO L273 TraceCheckUtils]: 18: Hoare triple {756#false} ~i~0 := 0; {756#false} is VALID [2018-11-23 13:04:46,664 INFO L273 TraceCheckUtils]: 19: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {756#false} is VALID [2018-11-23 13:04:46,664 INFO L273 TraceCheckUtils]: 20: Hoare triple {756#false} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {756#false} is VALID [2018-11-23 13:04:46,665 INFO L273 TraceCheckUtils]: 21: Hoare triple {756#false} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {756#false} is VALID [2018-11-23 13:04:46,665 INFO L273 TraceCheckUtils]: 22: Hoare triple {756#false} ~i~0 := 0; {756#false} is VALID [2018-11-23 13:04:46,666 INFO L273 TraceCheckUtils]: 23: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {756#false} is VALID [2018-11-23 13:04:46,666 INFO L256 TraceCheckUtils]: 24: Hoare triple {756#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {755#true} is VALID [2018-11-23 13:04:46,667 INFO L273 TraceCheckUtils]: 25: Hoare triple {755#true} ~cond := #in~cond; {755#true} is VALID [2018-11-23 13:04:46,667 INFO L273 TraceCheckUtils]: 26: Hoare triple {755#true} assume !(0 == ~cond); {755#true} is VALID [2018-11-23 13:04:46,668 INFO L273 TraceCheckUtils]: 27: Hoare triple {755#true} assume true; {755#true} is VALID [2018-11-23 13:04:46,668 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {755#true} {756#false} #89#return; {756#false} is VALID [2018-11-23 13:04:46,668 INFO L273 TraceCheckUtils]: 29: Hoare triple {756#false} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {756#false} is VALID [2018-11-23 13:04:46,668 INFO L273 TraceCheckUtils]: 30: Hoare triple {756#false} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {756#false} is VALID [2018-11-23 13:04:46,669 INFO L273 TraceCheckUtils]: 31: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {756#false} is VALID [2018-11-23 13:04:46,669 INFO L256 TraceCheckUtils]: 32: Hoare triple {756#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {756#false} is VALID [2018-11-23 13:04:46,669 INFO L273 TraceCheckUtils]: 33: Hoare triple {756#false} ~cond := #in~cond; {756#false} is VALID [2018-11-23 13:04:46,669 INFO L273 TraceCheckUtils]: 34: Hoare triple {756#false} assume 0 == ~cond; {756#false} is VALID [2018-11-23 13:04:46,670 INFO L273 TraceCheckUtils]: 35: Hoare triple {756#false} assume !false; {756#false} is VALID [2018-11-23 13:04:46,673 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-23 13:04:46,673 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:04:46,673 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:04:46,682 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:46,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:46,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:46,745 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:04:46,867 INFO L256 TraceCheckUtils]: 0: Hoare triple {755#true} call ULTIMATE.init(); {755#true} is VALID [2018-11-23 13:04:46,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {755#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {755#true} is VALID [2018-11-23 13:04:46,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {755#true} assume true; {755#true} is VALID [2018-11-23 13:04:46,868 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {755#true} {755#true} #85#return; {755#true} is VALID [2018-11-23 13:04:46,869 INFO L256 TraceCheckUtils]: 4: Hoare triple {755#true} call #t~ret15 := main(); {755#true} is VALID [2018-11-23 13:04:46,882 INFO L273 TraceCheckUtils]: 5: Hoare triple {755#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {757#(= main_~i~0 0)} is VALID [2018-11-23 13:04:46,883 INFO L273 TraceCheckUtils]: 6: Hoare triple {757#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {757#(= main_~i~0 0)} is VALID [2018-11-23 13:04:46,883 INFO L273 TraceCheckUtils]: 7: Hoare triple {757#(= main_~i~0 0)} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {757#(= main_~i~0 0)} is VALID [2018-11-23 13:04:46,886 INFO L273 TraceCheckUtils]: 8: Hoare triple {757#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {792#(= main_~i~0 1)} is VALID [2018-11-23 13:04:46,888 INFO L273 TraceCheckUtils]: 9: Hoare triple {792#(= main_~i~0 1)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} is VALID [2018-11-23 13:04:46,888 INFO L273 TraceCheckUtils]: 10: Hoare triple {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} is VALID [2018-11-23 13:04:46,888 INFO L273 TraceCheckUtils]: 11: Hoare triple {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} is VALID [2018-11-23 13:04:46,889 INFO L273 TraceCheckUtils]: 12: Hoare triple {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} is VALID [2018-11-23 13:04:46,889 INFO L273 TraceCheckUtils]: 13: Hoare triple {762#(<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0)} ~i~0 := 0; {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,890 INFO L273 TraceCheckUtils]: 14: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,891 INFO L273 TraceCheckUtils]: 15: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:46,892 INFO L273 TraceCheckUtils]: 16: Hoare triple {763#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {817#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 1))} is VALID [2018-11-23 13:04:46,893 INFO L273 TraceCheckUtils]: 17: Hoare triple {817#(and (<= (+ (* 4294967296 (div main_~M~0 4294967296)) 2) main_~M~0) (= main_~i~0 1))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {756#false} is VALID [2018-11-23 13:04:46,894 INFO L273 TraceCheckUtils]: 18: Hoare triple {756#false} ~i~0 := 0; {756#false} is VALID [2018-11-23 13:04:46,894 INFO L273 TraceCheckUtils]: 19: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {756#false} is VALID [2018-11-23 13:04:46,894 INFO L273 TraceCheckUtils]: 20: Hoare triple {756#false} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {756#false} is VALID [2018-11-23 13:04:46,895 INFO L273 TraceCheckUtils]: 21: Hoare triple {756#false} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {756#false} is VALID [2018-11-23 13:04:46,895 INFO L273 TraceCheckUtils]: 22: Hoare triple {756#false} ~i~0 := 0; {756#false} is VALID [2018-11-23 13:04:46,895 INFO L273 TraceCheckUtils]: 23: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {756#false} is VALID [2018-11-23 13:04:46,896 INFO L256 TraceCheckUtils]: 24: Hoare triple {756#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {756#false} is VALID [2018-11-23 13:04:46,896 INFO L273 TraceCheckUtils]: 25: Hoare triple {756#false} ~cond := #in~cond; {756#false} is VALID [2018-11-23 13:04:46,896 INFO L273 TraceCheckUtils]: 26: Hoare triple {756#false} assume !(0 == ~cond); {756#false} is VALID [2018-11-23 13:04:46,896 INFO L273 TraceCheckUtils]: 27: Hoare triple {756#false} assume true; {756#false} is VALID [2018-11-23 13:04:46,897 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {756#false} {756#false} #89#return; {756#false} is VALID [2018-11-23 13:04:46,897 INFO L273 TraceCheckUtils]: 29: Hoare triple {756#false} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {756#false} is VALID [2018-11-23 13:04:46,897 INFO L273 TraceCheckUtils]: 30: Hoare triple {756#false} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {756#false} is VALID [2018-11-23 13:04:46,898 INFO L273 TraceCheckUtils]: 31: Hoare triple {756#false} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {756#false} is VALID [2018-11-23 13:04:46,898 INFO L256 TraceCheckUtils]: 32: Hoare triple {756#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {756#false} is VALID [2018-11-23 13:04:46,898 INFO L273 TraceCheckUtils]: 33: Hoare triple {756#false} ~cond := #in~cond; {756#false} is VALID [2018-11-23 13:04:46,898 INFO L273 TraceCheckUtils]: 34: Hoare triple {756#false} assume 0 == ~cond; {756#false} is VALID [2018-11-23 13:04:46,898 INFO L273 TraceCheckUtils]: 35: Hoare triple {756#false} assume !false; {756#false} is VALID [2018-11-23 13:04:46,900 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:04:46,920 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:04:46,920 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 12 [2018-11-23 13:04:46,920 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 36 [2018-11-23 13:04:46,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:46,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 13:04:46,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:46,981 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 13:04:46,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 13:04:46,982 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=94, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:04:46,982 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 12 states. [2018-11-23 13:04:47,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:47,999 INFO L93 Difference]: Finished difference Result 76 states and 83 transitions. [2018-11-23 13:04:47,999 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 13:04:47,999 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 36 [2018-11-23 13:04:47,999 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:47,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:04:48,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 73 transitions. [2018-11-23 13:04:48,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:04:48,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 73 transitions. [2018-11-23 13:04:48,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 73 transitions. [2018-11-23 13:04:48,125 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-23 13:04:48,128 INFO L225 Difference]: With dead ends: 76 [2018-11-23 13:04:48,128 INFO L226 Difference]: Without dead ends: 55 [2018-11-23 13:04:48,129 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2018-11-23 13:04:48,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-23 13:04:48,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 44. [2018-11-23 13:04:48,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:48,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 44 states. [2018-11-23 13:04:48,221 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 44 states. [2018-11-23 13:04:48,221 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 44 states. [2018-11-23 13:04:48,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:48,224 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2018-11-23 13:04:48,224 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2018-11-23 13:04:48,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:48,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:48,225 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 55 states. [2018-11-23 13:04:48,225 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 55 states. [2018-11-23 13:04:48,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:48,228 INFO L93 Difference]: Finished difference Result 55 states and 59 transitions. [2018-11-23 13:04:48,228 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2018-11-23 13:04:48,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:48,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:48,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:48,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:48,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2018-11-23 13:04:48,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 47 transitions. [2018-11-23 13:04:48,232 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 47 transitions. Word has length 36 [2018-11-23 13:04:48,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:48,232 INFO L480 AbstractCegarLoop]: Abstraction has 44 states and 47 transitions. [2018-11-23 13:04:48,232 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 13:04:48,232 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2018-11-23 13:04:48,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-23 13:04:48,233 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:48,234 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:48,234 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:48,234 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:48,234 INFO L82 PathProgramCache]: Analyzing trace with hash -1913486187, now seen corresponding path program 2 times [2018-11-23 13:04:48,234 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:48,234 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:48,235 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:48,235 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 13:04:48,236 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:48,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:49,279 WARN L180 SmtUtils]: Spent 519.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 18 [2018-11-23 13:04:50,018 WARN L180 SmtUtils]: Spent 150.00 ms on a formula simplification. DAG size of input: 106 DAG size of output: 45 [2018-11-23 13:04:50,509 WARN L180 SmtUtils]: Spent 265.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 28 [2018-11-23 13:04:50,910 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 116 DAG size of output: 37 [2018-11-23 13:04:50,952 INFO L256 TraceCheckUtils]: 0: Hoare triple {1156#true} call ULTIMATE.init(); {1156#true} is VALID [2018-11-23 13:04:50,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {1156#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1156#true} is VALID [2018-11-23 13:04:50,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {1156#true} assume true; {1156#true} is VALID [2018-11-23 13:04:50,954 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1156#true} {1156#true} #85#return; {1156#true} is VALID [2018-11-23 13:04:50,954 INFO L256 TraceCheckUtils]: 4: Hoare triple {1156#true} call #t~ret15 := main(); {1156#true} is VALID [2018-11-23 13:04:50,956 INFO L273 TraceCheckUtils]: 5: Hoare triple {1156#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,956 INFO L273 TraceCheckUtils]: 6: Hoare triple {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,957 INFO L273 TraceCheckUtils]: 7: Hoare triple {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,958 INFO L273 TraceCheckUtils]: 8: Hoare triple {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,959 INFO L273 TraceCheckUtils]: 9: Hoare triple {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,960 INFO L273 TraceCheckUtils]: 10: Hoare triple {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,961 INFO L273 TraceCheckUtils]: 11: Hoare triple {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,962 INFO L273 TraceCheckUtils]: 12: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,974 INFO L273 TraceCheckUtils]: 13: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,975 INFO L273 TraceCheckUtils]: 14: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,976 INFO L273 TraceCheckUtils]: 15: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,976 INFO L273 TraceCheckUtils]: 16: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,977 INFO L273 TraceCheckUtils]: 17: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,977 INFO L273 TraceCheckUtils]: 18: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,978 INFO L273 TraceCheckUtils]: 19: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,979 INFO L273 TraceCheckUtils]: 20: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,980 INFO L273 TraceCheckUtils]: 21: Hoare triple {1160#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,983 INFO L273 TraceCheckUtils]: 22: Hoare triple {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,984 INFO L273 TraceCheckUtils]: 23: Hoare triple {1158#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,987 INFO L273 TraceCheckUtils]: 24: Hoare triple {1159#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1161#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (<= (div main_~i~0 4294967296) 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 4)) (= |main_~#B~0.offset| 0) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,990 INFO L273 TraceCheckUtils]: 25: Hoare triple {1161#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (<= (div main_~i~0 4294967296) 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 4)) (= |main_~#B~0.offset| 0) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#A~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1162#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,991 INFO L273 TraceCheckUtils]: 26: Hoare triple {1162#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1162#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:50,992 INFO L273 TraceCheckUtils]: 27: Hoare triple {1162#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,993 INFO L273 TraceCheckUtils]: 28: Hoare triple {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:50,994 INFO L256 TraceCheckUtils]: 29: Hoare triple {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1156#true} is VALID [2018-11-23 13:04:50,994 INFO L273 TraceCheckUtils]: 30: Hoare triple {1156#true} ~cond := #in~cond; {1164#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 13:04:50,995 INFO L273 TraceCheckUtils]: 31: Hoare triple {1164#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:04:50,997 INFO L273 TraceCheckUtils]: 32: Hoare triple {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:04:51,005 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #89#return; {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:51,006 INFO L273 TraceCheckUtils]: 34: Hoare triple {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:04:51,007 INFO L273 TraceCheckUtils]: 35: Hoare triple {1163#(and (= |main_~#C~0.offset| 0) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 4)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 1))))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1166#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:04:51,010 INFO L273 TraceCheckUtils]: 36: Hoare triple {1166#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1167#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:04:51,012 INFO L256 TraceCheckUtils]: 37: Hoare triple {1167#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:04:51,013 INFO L273 TraceCheckUtils]: 38: Hoare triple {1165#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1168#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:04:51,013 INFO L273 TraceCheckUtils]: 39: Hoare triple {1168#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1157#false} is VALID [2018-11-23 13:04:51,013 INFO L273 TraceCheckUtils]: 40: Hoare triple {1157#false} assume !false; {1157#false} is VALID [2018-11-23 13:04:51,020 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 1 proven. 12 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 13:04:51,021 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:04:51,021 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:04:51,038 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 13:04:51,072 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 13:04:51,072 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:04:51,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:04:51,096 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:04:51,172 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:51,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 29 [2018-11-23 13:04:51,212 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:51,213 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:51,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 13:04:51,219 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,224 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,236 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,237 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:29, output treesize:22 [2018-11-23 13:04:51,396 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 13 treesize of output 10 [2018-11-23 13:04:51,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:04:51,406 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,409 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,425 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,426 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:19 [2018-11-23 13:04:51,430 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:51,430 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_11|, |v_main_#t~nondet3_3|]. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |#memory_int| (store |v_#memory_int_11| |main_~#A~0.base| (store (select |v_#memory_int_11| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4) |v_main_#t~nondet3_3|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:04:51,431 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:04:51,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 44 treesize of output 41 [2018-11-23 13:04:51,520 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 13 [2018-11-23 13:04:51,523 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,542 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,592 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,593 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:91, output treesize:22 [2018-11-23 13:04:51,599 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:51,600 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_12|, |v_main_#t~nondet6_3|, v_prenex_1, v_prenex_2]. (let ((.cse8 (mod main_~i~0 4294967296))) (let ((.cse6 (<= .cse8 2147483647)) (.cse0 (* 4 .cse8)) (.cse1 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse2 (= 0 |main_~#B~0.offset|)) (.cse3 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse4 (= 0 |main_~#A~0.offset|)) (.cse5 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse7 (= main_~i~0 0))) (or (and (= (store |v_#memory_int_12| |main_~#B~0.base| (store (select |v_#memory_int_12| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse0) |v_main_#t~nondet6_3|)) |#memory_int|) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (and (not .cse6) (= (store v_prenex_1 |main_~#B~0.base| (store (select v_prenex_1 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse0 (- 17179869184)) v_prenex_2)) |#memory_int|) .cse1 .cse2 .cse3 .cse4 .cse5 .cse7)))) [2018-11-23 13:04:51,600 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0)) [2018-11-23 13:04:51,633 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 13 treesize of output 10 [2018-11-23 13:04:51,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:04:51,640 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,642 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,656 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,656 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:19 [2018-11-23 13:04:51,659 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:51,660 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_13|, |v_main_#t~nondet6_4|]. (and (= (store |v_#memory_int_13| |main_~#B~0.base| (store (select |v_#memory_int_13| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4) |v_main_#t~nondet6_4|)) |#memory_int|) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:04:51,660 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:04:51,742 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:04:51,743 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,786 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 49 [2018-11-23 13:04:51,796 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 35 [2018-11-23 13:04:51,799 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,809 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,830 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:51,830 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:137, output treesize:57 [2018-11-23 13:04:54,059 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:54,059 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_3, |v_#memory_int_14|]. (let ((.cse8 (mod main_~i~0 4294967296))) (let ((.cse2 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse3 (= 0 |main_~#B~0.offset|)) (.cse4 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse1 (* 4 .cse8)) (.cse5 (= 0 |main_~#A~0.offset|)) (.cse6 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse0 (<= .cse8 2147483647)) (.cse7 (= main_~i~0 0))) (or (and (not .cse0) (= |#memory_int| (store v_prenex_3 |main_~#C~0.base| (store (select v_prenex_3 |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse1 (- 17179869184)) (+ (select (select v_prenex_3 |main_~#A~0.base|) (+ .cse1 |main_~#A~0.offset| (- 17179869184))) (select (select v_prenex_3 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1 (- 17179869184))))))) .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (and .cse2 .cse3 .cse4 (= (store |v_#memory_int_14| |main_~#C~0.base| (store (select |v_#memory_int_14| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse1) (+ (select (select |v_#memory_int_14| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1)) (select (select |v_#memory_int_14| |main_~#A~0.base|) (+ .cse1 |main_~#A~0.offset|))))) |#memory_int|) .cse5 .cse6 .cse0 .cse7)))) [2018-11-23 13:04:54,060 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= 0 |main_~#B~0.offset|) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (let ((.cse0 (* 4 (mod main_~i~0 4294967296)))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse0)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse0)) (select (select |#memory_int| |main_~#A~0.base|) (+ .cse0 |main_~#A~0.offset|))))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0)) [2018-11-23 13:04:54,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 52 [2018-11-23 13:04:54,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:54,332 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 47 [2018-11-23 13:04:54,336 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:54,353 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:54,373 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:54,373 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:63, output treesize:59 [2018-11-23 13:04:55,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 54 [2018-11-23 13:04:55,704 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:04:55,707 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 16 [2018-11-23 13:04:55,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:55,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 8 [2018-11-23 13:04:55,800 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:55,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 6 [2018-11-23 13:04:55,815 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:04:55,817 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:55,832 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:04:55,832 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:72, output treesize:6 [2018-11-23 13:04:55,835 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:04:55,835 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#A~0.base|, |main_~#B~0.base|, |main_~#C~0.base|, |main_~#C~0.offset|]. (let ((.cse4 (select |#memory_int| |main_~#B~0.base|)) (.cse3 (select |#memory_int| |main_~#A~0.base|)) (.cse5 (select |#memory_int| |main_~#C~0.base|))) (let ((.cse0 (select .cse5 (+ |main_~#C~0.offset| 4))) (.cse1 (select .cse3 4)) (.cse2 (select .cse4 4))) (and (= |main_#t~mem14| .cse0) (= (+ .cse1 .cse2) .cse0) (= |main_#t~mem12| .cse1) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_#t~mem13| .cse2) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= (+ (select .cse3 0) (select .cse4 0)) (select .cse5 |main_~#C~0.offset|))))) [2018-11-23 13:04:55,836 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem12| (+ (- |main_#t~mem13|) |main_#t~mem14|)) [2018-11-23 13:04:55,884 INFO L256 TraceCheckUtils]: 0: Hoare triple {1156#true} call ULTIMATE.init(); {1156#true} is VALID [2018-11-23 13:04:55,884 INFO L273 TraceCheckUtils]: 1: Hoare triple {1156#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1156#true} is VALID [2018-11-23 13:04:55,885 INFO L273 TraceCheckUtils]: 2: Hoare triple {1156#true} assume true; {1156#true} is VALID [2018-11-23 13:04:55,885 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1156#true} {1156#true} #85#return; {1156#true} is VALID [2018-11-23 13:04:55,885 INFO L256 TraceCheckUtils]: 4: Hoare triple {1156#true} call #t~ret15 := main(); {1156#true} is VALID [2018-11-23 13:04:55,886 INFO L273 TraceCheckUtils]: 5: Hoare triple {1156#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,893 INFO L273 TraceCheckUtils]: 6: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,894 INFO L273 TraceCheckUtils]: 7: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,895 INFO L273 TraceCheckUtils]: 8: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1197#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,896 INFO L273 TraceCheckUtils]: 9: Hoare triple {1197#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,896 INFO L273 TraceCheckUtils]: 10: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,897 INFO L273 TraceCheckUtils]: 12: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,898 INFO L273 TraceCheckUtils]: 13: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,899 INFO L273 TraceCheckUtils]: 14: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,900 INFO L273 TraceCheckUtils]: 15: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,901 INFO L273 TraceCheckUtils]: 16: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1197#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,903 INFO L273 TraceCheckUtils]: 17: Hoare triple {1197#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,903 INFO L273 TraceCheckUtils]: 18: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,904 INFO L273 TraceCheckUtils]: 19: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,905 INFO L273 TraceCheckUtils]: 20: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,906 INFO L273 TraceCheckUtils]: 21: Hoare triple {1201#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,908 INFO L273 TraceCheckUtils]: 22: Hoare triple {1187#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1241#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,910 INFO L273 TraceCheckUtils]: 23: Hoare triple {1241#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1245#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,912 INFO L273 TraceCheckUtils]: 24: Hoare triple {1245#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,914 INFO L273 TraceCheckUtils]: 25: Hoare triple {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,915 INFO L273 TraceCheckUtils]: 26: Hoare triple {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,917 INFO L273 TraceCheckUtils]: 27: Hoare triple {1249#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,919 INFO L273 TraceCheckUtils]: 28: Hoare triple {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,922 INFO L256 TraceCheckUtils]: 29: Hoare triple {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1266#(exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|))))} is VALID [2018-11-23 13:04:55,923 INFO L273 TraceCheckUtils]: 30: Hoare triple {1266#(exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|))))} ~cond := #in~cond; {1270#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:04:55,924 INFO L273 TraceCheckUtils]: 31: Hoare triple {1270#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {1274#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 13:04:55,925 INFO L273 TraceCheckUtils]: 32: Hoare triple {1274#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (not (= |__VERIFIER_assert_#in~cond| 0)))} assume true; {1274#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (not (= |__VERIFIER_assert_#in~cond| 0)))} is VALID [2018-11-23 13:04:55,927 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1274#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_1| Int) (|v_main_~#A~0.base_BEFORE_CALL_1| Int) (|v_main_~#C~0.offset_BEFORE_CALL_1| Int) (|v_main_~#B~0.base_BEFORE_CALL_1| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_1| |v_main_~#C~0.base_BEFORE_CALL_1|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_1| |v_main_~#B~0.base_BEFORE_CALL_1|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 4) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 4)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) (+ |v_main_~#C~0.offset_BEFORE_CALL_1| 4))) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_1|) 0) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_1|) 0)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_1|) |v_main_~#C~0.offset_BEFORE_CALL_1|)))) (not (= |__VERIFIER_assert_#in~cond| 0)))} {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #89#return; {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,928 INFO L273 TraceCheckUtils]: 34: Hoare triple {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:04:55,930 INFO L273 TraceCheckUtils]: 35: Hoare triple {1259#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1287#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:04:55,938 INFO L273 TraceCheckUtils]: 36: Hoare triple {1287#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= 0 |main_~#B~0.offset|) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (= 0 |main_~#A~0.offset|) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1167#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:04:55,939 INFO L256 TraceCheckUtils]: 37: Hoare triple {1167#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1294#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:04:55,939 INFO L273 TraceCheckUtils]: 38: Hoare triple {1294#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1298#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:04:55,940 INFO L273 TraceCheckUtils]: 39: Hoare triple {1298#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1157#false} is VALID [2018-11-23 13:04:55,940 INFO L273 TraceCheckUtils]: 40: Hoare triple {1157#false} assume !false; {1157#false} is VALID [2018-11-23 13:04:55,957 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 13:04:55,980 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:04:55,981 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 26 [2018-11-23 13:04:55,981 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 41 [2018-11-23 13:04:55,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:04:55,982 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 13:04:56,103 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-23 13:04:56,103 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 13:04:56,103 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 13:04:56,104 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=572, Unknown=0, NotChecked=0, Total=650 [2018-11-23 13:04:56,104 INFO L87 Difference]: Start difference. First operand 44 states and 47 transitions. Second operand 26 states. [2018-11-23 13:04:59,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:59,560 INFO L93 Difference]: Finished difference Result 61 states and 64 transitions. [2018-11-23 13:04:59,560 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 13:04:59,560 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 41 [2018-11-23 13:04:59,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:04:59,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 13:04:59,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 61 transitions. [2018-11-23 13:04:59,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 13:04:59,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 61 transitions. [2018-11-23 13:04:59,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 61 transitions. [2018-11-23 13:04:59,708 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:04:59,710 INFO L225 Difference]: With dead ends: 61 [2018-11-23 13:04:59,711 INFO L226 Difference]: Without dead ends: 59 [2018-11-23 13:04:59,712 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 30 SyntacticMatches, 5 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 319 ImplicationChecksByTransitivity, 4.1s TimeCoverageRelationStatistics Valid=233, Invalid=1327, Unknown=0, NotChecked=0, Total=1560 [2018-11-23 13:04:59,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2018-11-23 13:04:59,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 52. [2018-11-23 13:04:59,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:04:59,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 52 states. [2018-11-23 13:04:59,853 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 52 states. [2018-11-23 13:04:59,854 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 52 states. [2018-11-23 13:04:59,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:59,856 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2018-11-23 13:04:59,856 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2018-11-23 13:04:59,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:59,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:59,857 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 59 states. [2018-11-23 13:04:59,857 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 59 states. [2018-11-23 13:04:59,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:04:59,860 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2018-11-23 13:04:59,860 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 62 transitions. [2018-11-23 13:04:59,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:04:59,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:04:59,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:04:59,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:04:59,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-23 13:04:59,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 55 transitions. [2018-11-23 13:04:59,863 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 55 transitions. Word has length 41 [2018-11-23 13:04:59,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:04:59,863 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 55 transitions. [2018-11-23 13:04:59,863 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 13:04:59,864 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 55 transitions. [2018-11-23 13:04:59,865 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 13:04:59,865 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:04:59,865 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:04:59,865 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:04:59,865 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:04:59,866 INFO L82 PathProgramCache]: Analyzing trace with hash -1115964468, now seen corresponding path program 3 times [2018-11-23 13:04:59,866 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:04:59,866 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:04:59,867 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:59,867 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:04:59,867 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:04:59,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:05:00,831 WARN L180 SmtUtils]: Spent 259.00 ms on a formula simplification. DAG size of input: 14 DAG size of output: 10 [2018-11-23 13:05:01,067 INFO L256 TraceCheckUtils]: 0: Hoare triple {1608#true} call ULTIMATE.init(); {1608#true} is VALID [2018-11-23 13:05:01,068 INFO L273 TraceCheckUtils]: 1: Hoare triple {1608#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1608#true} is VALID [2018-11-23 13:05:01,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,068 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1608#true} {1608#true} #85#return; {1608#true} is VALID [2018-11-23 13:05:01,068 INFO L256 TraceCheckUtils]: 4: Hoare triple {1608#true} call #t~ret15 := main(); {1608#true} is VALID [2018-11-23 13:05:01,068 INFO L273 TraceCheckUtils]: 5: Hoare triple {1608#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,069 INFO L273 TraceCheckUtils]: 6: Hoare triple {1610#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,069 INFO L273 TraceCheckUtils]: 7: Hoare triple {1610#(= main_~i~0 0)} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,070 INFO L273 TraceCheckUtils]: 8: Hoare triple {1610#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,070 INFO L273 TraceCheckUtils]: 9: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,071 INFO L273 TraceCheckUtils]: 10: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,071 INFO L273 TraceCheckUtils]: 11: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1612#(and (<= main_~i~0 2) (< 0 (+ (div main_~i~0 4294967296) 1)))} is VALID [2018-11-23 13:05:01,072 INFO L273 TraceCheckUtils]: 12: Hoare triple {1612#(and (<= main_~i~0 2) (< 0 (+ (div main_~i~0 4294967296) 1)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,073 INFO L273 TraceCheckUtils]: 13: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,073 INFO L273 TraceCheckUtils]: 14: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,077 INFO L273 TraceCheckUtils]: 15: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,083 INFO L273 TraceCheckUtils]: 17: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,085 INFO L273 TraceCheckUtils]: 18: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,085 INFO L273 TraceCheckUtils]: 19: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,086 INFO L273 TraceCheckUtils]: 20: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,086 INFO L273 TraceCheckUtils]: 21: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,087 INFO L273 TraceCheckUtils]: 22: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,087 INFO L273 TraceCheckUtils]: 23: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,087 INFO L273 TraceCheckUtils]: 24: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,088 INFO L273 TraceCheckUtils]: 25: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,088 INFO L273 TraceCheckUtils]: 26: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,088 INFO L273 TraceCheckUtils]: 27: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,089 INFO L273 TraceCheckUtils]: 28: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,090 INFO L256 TraceCheckUtils]: 29: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1608#true} is VALID [2018-11-23 13:05:01,090 INFO L273 TraceCheckUtils]: 30: Hoare triple {1608#true} ~cond := #in~cond; {1608#true} is VALID [2018-11-23 13:05:01,090 INFO L273 TraceCheckUtils]: 31: Hoare triple {1608#true} assume !(0 == ~cond); {1608#true} is VALID [2018-11-23 13:05:01,090 INFO L273 TraceCheckUtils]: 32: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,092 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1608#true} {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} #89#return; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,092 INFO L273 TraceCheckUtils]: 34: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,094 INFO L273 TraceCheckUtils]: 35: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:05:01,095 INFO L273 TraceCheckUtils]: 36: Hoare triple {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:05:01,095 INFO L256 TraceCheckUtils]: 37: Hoare triple {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1608#true} is VALID [2018-11-23 13:05:01,095 INFO L273 TraceCheckUtils]: 38: Hoare triple {1608#true} ~cond := #in~cond; {1608#true} is VALID [2018-11-23 13:05:01,096 INFO L273 TraceCheckUtils]: 39: Hoare triple {1608#true} assume !(0 == ~cond); {1608#true} is VALID [2018-11-23 13:05:01,096 INFO L273 TraceCheckUtils]: 40: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,097 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1608#true} {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} #89#return; {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:05:01,098 INFO L273 TraceCheckUtils]: 42: Hoare triple {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:05:01,099 INFO L273 TraceCheckUtils]: 43: Hoare triple {1615#(and (<= main_~i~0 1) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1616#(and (<= (div main_~i~0 4294967296) 0) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0)))} is VALID [2018-11-23 13:05:01,100 INFO L273 TraceCheckUtils]: 44: Hoare triple {1616#(and (<= (div main_~i~0 4294967296) 0) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1609#false} is VALID [2018-11-23 13:05:01,100 INFO L256 TraceCheckUtils]: 45: Hoare triple {1609#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1609#false} is VALID [2018-11-23 13:05:01,100 INFO L273 TraceCheckUtils]: 46: Hoare triple {1609#false} ~cond := #in~cond; {1609#false} is VALID [2018-11-23 13:05:01,100 INFO L273 TraceCheckUtils]: 47: Hoare triple {1609#false} assume 0 == ~cond; {1609#false} is VALID [2018-11-23 13:05:01,100 INFO L273 TraceCheckUtils]: 48: Hoare triple {1609#false} assume !false; {1609#false} is VALID [2018-11-23 13:05:01,105 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:05:01,105 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:05:01,105 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:05:01,114 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 13:05:01,184 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 13:05:01,184 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:05:01,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:05:01,215 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:05:01,623 INFO L256 TraceCheckUtils]: 0: Hoare triple {1608#true} call ULTIMATE.init(); {1608#true} is VALID [2018-11-23 13:05:01,624 INFO L273 TraceCheckUtils]: 1: Hoare triple {1608#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1608#true} is VALID [2018-11-23 13:05:01,624 INFO L273 TraceCheckUtils]: 2: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,624 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1608#true} {1608#true} #85#return; {1608#true} is VALID [2018-11-23 13:05:01,624 INFO L256 TraceCheckUtils]: 4: Hoare triple {1608#true} call #t~ret15 := main(); {1608#true} is VALID [2018-11-23 13:05:01,625 INFO L273 TraceCheckUtils]: 5: Hoare triple {1608#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,626 INFO L273 TraceCheckUtils]: 6: Hoare triple {1610#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,626 INFO L273 TraceCheckUtils]: 7: Hoare triple {1610#(= main_~i~0 0)} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1610#(= main_~i~0 0)} is VALID [2018-11-23 13:05:01,627 INFO L273 TraceCheckUtils]: 8: Hoare triple {1610#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,628 INFO L273 TraceCheckUtils]: 9: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,628 INFO L273 TraceCheckUtils]: 10: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:05:01,629 INFO L273 TraceCheckUtils]: 11: Hoare triple {1611#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1653#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:05:01,630 INFO L273 TraceCheckUtils]: 12: Hoare triple {1653#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,631 INFO L273 TraceCheckUtils]: 13: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,634 INFO L273 TraceCheckUtils]: 14: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,634 INFO L273 TraceCheckUtils]: 15: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,635 INFO L273 TraceCheckUtils]: 16: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,635 INFO L273 TraceCheckUtils]: 17: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,635 INFO L273 TraceCheckUtils]: 18: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,636 INFO L273 TraceCheckUtils]: 19: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,637 INFO L273 TraceCheckUtils]: 20: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,638 INFO L273 TraceCheckUtils]: 21: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,639 INFO L273 TraceCheckUtils]: 22: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,639 INFO L273 TraceCheckUtils]: 23: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,640 INFO L273 TraceCheckUtils]: 24: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,641 INFO L273 TraceCheckUtils]: 25: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,641 INFO L273 TraceCheckUtils]: 26: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} is VALID [2018-11-23 13:05:01,642 INFO L273 TraceCheckUtils]: 27: Hoare triple {1613#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2))} ~i~0 := 0; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,643 INFO L273 TraceCheckUtils]: 28: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,644 INFO L256 TraceCheckUtils]: 29: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1608#true} is VALID [2018-11-23 13:05:01,644 INFO L273 TraceCheckUtils]: 30: Hoare triple {1608#true} ~cond := #in~cond; {1608#true} is VALID [2018-11-23 13:05:01,644 INFO L273 TraceCheckUtils]: 31: Hoare triple {1608#true} assume !(0 == ~cond); {1608#true} is VALID [2018-11-23 13:05:01,644 INFO L273 TraceCheckUtils]: 32: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,646 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1608#true} {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} #89#return; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,646 INFO L273 TraceCheckUtils]: 34: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:01,648 INFO L273 TraceCheckUtils]: 35: Hoare triple {1614#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} is VALID [2018-11-23 13:05:01,649 INFO L273 TraceCheckUtils]: 36: Hoare triple {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} is VALID [2018-11-23 13:05:01,649 INFO L256 TraceCheckUtils]: 37: Hoare triple {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1608#true} is VALID [2018-11-23 13:05:01,649 INFO L273 TraceCheckUtils]: 38: Hoare triple {1608#true} ~cond := #in~cond; {1608#true} is VALID [2018-11-23 13:05:01,650 INFO L273 TraceCheckUtils]: 39: Hoare triple {1608#true} assume !(0 == ~cond); {1608#true} is VALID [2018-11-23 13:05:01,650 INFO L273 TraceCheckUtils]: 40: Hoare triple {1608#true} assume true; {1608#true} is VALID [2018-11-23 13:05:01,651 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1608#true} {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} #89#return; {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} is VALID [2018-11-23 13:05:01,652 INFO L273 TraceCheckUtils]: 42: Hoare triple {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} is VALID [2018-11-23 13:05:01,652 INFO L273 TraceCheckUtils]: 43: Hoare triple {1726#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)) (= main_~i~0 1))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {1751#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)))} is VALID [2018-11-23 13:05:01,654 INFO L273 TraceCheckUtils]: 44: Hoare triple {1751#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 2)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {1609#false} is VALID [2018-11-23 13:05:01,654 INFO L256 TraceCheckUtils]: 45: Hoare triple {1609#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {1609#false} is VALID [2018-11-23 13:05:01,654 INFO L273 TraceCheckUtils]: 46: Hoare triple {1609#false} ~cond := #in~cond; {1609#false} is VALID [2018-11-23 13:05:01,654 INFO L273 TraceCheckUtils]: 47: Hoare triple {1609#false} assume 0 == ~cond; {1609#false} is VALID [2018-11-23 13:05:01,654 INFO L273 TraceCheckUtils]: 48: Hoare triple {1609#false} assume !false; {1609#false} is VALID [2018-11-23 13:05:01,657 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:05:01,677 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:05:01,677 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2018-11-23 13:05:01,678 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 49 [2018-11-23 13:05:01,678 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:05:01,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 13:05:01,868 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:05:01,868 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 13:05:01,868 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 13:05:01,868 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:05:01,869 INFO L87 Difference]: Start difference. First operand 52 states and 55 transitions. Second operand 12 states. [2018-11-23 13:05:03,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:05:03,217 INFO L93 Difference]: Finished difference Result 129 states and 142 transitions. [2018-11-23 13:05:03,217 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 13:05:03,217 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 49 [2018-11-23 13:05:03,222 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:05:03,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:05:03,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 119 transitions. [2018-11-23 13:05:03,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 13:05:03,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 119 transitions. [2018-11-23 13:05:03,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 119 transitions. [2018-11-23 13:05:03,402 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:05:03,405 INFO L225 Difference]: With dead ends: 129 [2018-11-23 13:05:03,405 INFO L226 Difference]: Without dead ends: 71 [2018-11-23 13:05:03,406 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 13:05:03,406 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-11-23 13:05:04,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 60. [2018-11-23 13:05:04,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:05:04,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 60 states. [2018-11-23 13:05:04,137 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 60 states. [2018-11-23 13:05:04,137 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 60 states. [2018-11-23 13:05:04,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:05:04,141 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2018-11-23 13:05:04,141 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2018-11-23 13:05:04,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:05:04,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:05:04,142 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 71 states. [2018-11-23 13:05:04,142 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 71 states. [2018-11-23 13:05:04,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:05:04,144 INFO L93 Difference]: Finished difference Result 71 states and 75 transitions. [2018-11-23 13:05:04,145 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2018-11-23 13:05:04,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:05:04,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:05:04,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:05:04,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:05:04,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-11-23 13:05:04,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 63 transitions. [2018-11-23 13:05:04,148 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 63 transitions. Word has length 49 [2018-11-23 13:05:04,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:05:04,148 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 63 transitions. [2018-11-23 13:05:04,148 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 13:05:04,148 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 63 transitions. [2018-11-23 13:05:04,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2018-11-23 13:05:04,149 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:05:04,149 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:05:04,150 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:05:04,150 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:05:04,150 INFO L82 PathProgramCache]: Analyzing trace with hash 1071400400, now seen corresponding path program 4 times [2018-11-23 13:05:04,150 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:05:04,150 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:05:04,151 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:05:04,151 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:05:04,151 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:05:04,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:05:05,052 WARN L180 SmtUtils]: Spent 271.00 ms on a formula simplification. DAG size of input: 23 DAG size of output: 21 [2018-11-23 13:05:06,423 WARN L180 SmtUtils]: Spent 164.00 ms on a formula simplification. DAG size of input: 99 DAG size of output: 51 [2018-11-23 13:05:07,035 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 116 DAG size of output: 40 [2018-11-23 13:05:07,076 INFO L256 TraceCheckUtils]: 0: Hoare triple {2173#true} call ULTIMATE.init(); {2173#true} is VALID [2018-11-23 13:05:07,076 INFO L273 TraceCheckUtils]: 1: Hoare triple {2173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2173#true} is VALID [2018-11-23 13:05:07,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {2173#true} assume true; {2173#true} is VALID [2018-11-23 13:05:07,077 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2173#true} {2173#true} #85#return; {2173#true} is VALID [2018-11-23 13:05:07,077 INFO L256 TraceCheckUtils]: 4: Hoare triple {2173#true} call #t~ret15 := main(); {2173#true} is VALID [2018-11-23 13:05:07,078 INFO L273 TraceCheckUtils]: 5: Hoare triple {2173#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,079 INFO L273 TraceCheckUtils]: 6: Hoare triple {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,080 INFO L273 TraceCheckUtils]: 7: Hoare triple {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,081 INFO L273 TraceCheckUtils]: 8: Hoare triple {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,082 INFO L273 TraceCheckUtils]: 9: Hoare triple {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,083 INFO L273 TraceCheckUtils]: 10: Hoare triple {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,084 INFO L273 TraceCheckUtils]: 11: Hoare triple {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,085 INFO L273 TraceCheckUtils]: 12: Hoare triple {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,086 INFO L273 TraceCheckUtils]: 13: Hoare triple {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,087 INFO L273 TraceCheckUtils]: 14: Hoare triple {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,088 INFO L273 TraceCheckUtils]: 15: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,089 INFO L273 TraceCheckUtils]: 16: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,090 INFO L273 TraceCheckUtils]: 17: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,091 INFO L273 TraceCheckUtils]: 18: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,092 INFO L273 TraceCheckUtils]: 19: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,096 INFO L273 TraceCheckUtils]: 20: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,097 INFO L273 TraceCheckUtils]: 21: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,097 INFO L273 TraceCheckUtils]: 22: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,098 INFO L273 TraceCheckUtils]: 23: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,098 INFO L273 TraceCheckUtils]: 24: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,099 INFO L273 TraceCheckUtils]: 25: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,099 INFO L273 TraceCheckUtils]: 26: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,100 INFO L273 TraceCheckUtils]: 27: Hoare triple {2178#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,102 INFO L273 TraceCheckUtils]: 28: Hoare triple {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,102 INFO L273 TraceCheckUtils]: 29: Hoare triple {2175#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,104 INFO L273 TraceCheckUtils]: 30: Hoare triple {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,105 INFO L273 TraceCheckUtils]: 31: Hoare triple {2176#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,108 INFO L273 TraceCheckUtils]: 32: Hoare triple {2177#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2179#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= (div main_~i~0 4294967296) 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 8)) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))))))} is VALID [2018-11-23 13:05:07,110 INFO L273 TraceCheckUtils]: 33: Hoare triple {2179#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= (div main_~i~0 4294967296) 0) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (+ (* 4 main_~i~0) |main_~#B~0.offset|) (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 8)) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))))))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2180#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,112 INFO L273 TraceCheckUtils]: 34: Hoare triple {2180#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2180#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,113 INFO L273 TraceCheckUtils]: 35: Hoare triple {2180#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,114 INFO L273 TraceCheckUtils]: 36: Hoare triple {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,115 INFO L256 TraceCheckUtils]: 37: Hoare triple {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2173#true} is VALID [2018-11-23 13:05:07,115 INFO L273 TraceCheckUtils]: 38: Hoare triple {2173#true} ~cond := #in~cond; {2182#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 13:05:07,116 INFO L273 TraceCheckUtils]: 39: Hoare triple {2182#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:05:07,117 INFO L273 TraceCheckUtils]: 40: Hoare triple {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:05:07,118 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #89#return; {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,119 INFO L273 TraceCheckUtils]: 42: Hoare triple {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:05:07,121 INFO L273 TraceCheckUtils]: 43: Hoare triple {2181#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ 8 |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 2))) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| 8)))) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,123 INFO L273 TraceCheckUtils]: 44: Hoare triple {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,123 INFO L256 TraceCheckUtils]: 45: Hoare triple {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2173#true} is VALID [2018-11-23 13:05:07,123 INFO L273 TraceCheckUtils]: 46: Hoare triple {2173#true} ~cond := #in~cond; {2173#true} is VALID [2018-11-23 13:05:07,124 INFO L273 TraceCheckUtils]: 47: Hoare triple {2173#true} assume !(0 == ~cond); {2173#true} is VALID [2018-11-23 13:05:07,124 INFO L273 TraceCheckUtils]: 48: Hoare triple {2173#true} assume true; {2173#true} is VALID [2018-11-23 13:05:07,126 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2173#true} {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #89#return; {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,127 INFO L273 TraceCheckUtils]: 50: Hoare triple {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,129 INFO L273 TraceCheckUtils]: 51: Hoare triple {2184#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2185#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:05:07,130 INFO L273 TraceCheckUtils]: 52: Hoare triple {2185#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2186#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:05:07,131 INFO L256 TraceCheckUtils]: 53: Hoare triple {2186#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:05:07,132 INFO L273 TraceCheckUtils]: 54: Hoare triple {2183#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2187#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:05:07,132 INFO L273 TraceCheckUtils]: 55: Hoare triple {2187#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2174#false} is VALID [2018-11-23 13:05:07,132 INFO L273 TraceCheckUtils]: 56: Hoare triple {2174#false} assume !false; {2174#false} is VALID [2018-11-23 13:05:07,149 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 3 proven. 33 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2018-11-23 13:05:07,149 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:05:07,150 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:05:07,158 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 13:05:07,199 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 13:05:07,200 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:05:07,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:05:07,225 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:05:07,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:07,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 29 [2018-11-23 13:05:07,302 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:07,303 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:07,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 13:05:07,306 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,311 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,319 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,319 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:16 [2018-11-23 13:05:07,533 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 13 treesize of output 10 [2018-11-23 13:05:07,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:05:07,542 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,544 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,553 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,553 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-23 13:05:07,556 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:05:07,556 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_16|, |v_main_#t~nondet6_5|]. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= |#memory_int| (store |v_#memory_int_16| |main_~#B~0.base| (store (select |v_#memory_int_16| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8) |v_main_#t~nondet6_5|))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:05:07,556 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:05:07,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 57 [2018-11-23 13:05:07,620 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 35 [2018-11-23 13:05:07,623 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,639 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,675 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:07,675 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:125, output treesize:51 [2018-11-23 13:05:09,874 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:05:09,874 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_17|, v_prenex_4]. (let ((.cse6 (mod main_~i~0 4294967296))) (let ((.cse4 (<= .cse6 2147483647)) (.cse2 (* 4 .cse6)) (.cse0 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse1 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse3 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse5 (= main_~i~0 0))) (or (and .cse0 .cse1 (= |#memory_int| (store |v_#memory_int_17| |main_~#C~0.base| (store (select |v_#memory_int_17| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse2) (+ (select (select |v_#memory_int_17| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse2)) (select (select |v_#memory_int_17| |main_~#A~0.base|) (+ .cse2 |main_~#A~0.offset|)))))) .cse3 .cse4 .cse5) (and (not .cse4) (= |#memory_int| (store v_prenex_4 |main_~#C~0.base| (store (select v_prenex_4 |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse2 (- 17179869184)) (+ (select (select v_prenex_4 |main_~#A~0.base|) (+ .cse2 |main_~#A~0.offset| (- 17179869184))) (select (select v_prenex_4 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse2 (- 17179869184))))))) .cse0 .cse1 .cse3 .cse5)))) [2018-11-23 13:05:09,874 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (let ((.cse0 (* 4 (mod main_~i~0 4294967296)))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse0)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse0)) (select (select |#memory_int| |main_~#A~0.base|) (+ .cse0 |main_~#A~0.offset|))))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0)) [2018-11-23 13:05:10,101 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:05:10,102 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:10,142 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 64 [2018-11-23 13:05:10,151 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:10,153 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 63 [2018-11-23 13:05:10,157 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:10,181 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:10,199 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:10,200 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:159, output treesize:68 [2018-11-23 13:05:12,368 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:05:12,369 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_5, |v_#memory_int_18|]. (let ((.cse12 (mod main_~i~0 4294967296))) (let ((.cse8 (<= .cse12 2147483647)) (.cse1 (* 4 .cse12)) (.cse4 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse5 (= main_~i~0 1)) (.cse6 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse7 (not (= |main_~#B~0.base| |main_~#A~0.base|)))) (or (let ((.cse0 (select v_prenex_5 |main_~#C~0.base|)) (.cse3 (select v_prenex_5 |main_~#A~0.base|)) (.cse2 (select v_prenex_5 |main_~#B~0.base|))) (and (= (store v_prenex_5 |main_~#C~0.base| (store .cse0 (+ |main_~#C~0.offset| .cse1) (+ (select .cse2 (+ |main_~#B~0.offset| .cse1)) (select .cse3 (+ .cse1 |main_~#A~0.offset|))))) |#memory_int|) (= (select .cse0 |main_~#C~0.offset|) (+ (select .cse3 |main_~#A~0.offset|) (select .cse2 |main_~#B~0.offset|))) .cse4 .cse5 .cse6 .cse7 .cse8)) (let ((.cse9 (select |v_#memory_int_18| |main_~#C~0.base|)) (.cse11 (select |v_#memory_int_18| |main_~#B~0.base|)) (.cse10 (select |v_#memory_int_18| |main_~#A~0.base|))) (and (not .cse8) (= (select .cse9 |main_~#C~0.offset|) (+ (select .cse10 |main_~#A~0.offset|) (select .cse11 |main_~#B~0.offset|))) (= |#memory_int| (store |v_#memory_int_18| |main_~#C~0.base| (store .cse9 (+ |main_~#C~0.offset| .cse1 (- 17179869184)) (+ (select .cse11 (+ |main_~#B~0.offset| .cse1 (- 17179869184))) (select .cse10 (+ .cse1 |main_~#A~0.offset| (- 17179869184))))))) .cse4 .cse5 .cse6 .cse7))))) [2018-11-23 13:05:12,369 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#C~0.base|)) (.cse3 (select |#memory_int| |main_~#A~0.base|)) (.cse2 (select |#memory_int| |main_~#B~0.base|))) (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (let ((.cse1 (* 4 (mod main_~i~0 4294967296)))) (= (select .cse0 (+ |main_~#C~0.offset| .cse1)) (+ (select .cse2 (+ |main_~#B~0.offset| .cse1)) (select .cse3 (+ .cse1 |main_~#A~0.offset|))))) (= (select .cse0 |main_~#C~0.offset|) (+ (select .cse3 |main_~#A~0.offset|) (select .cse2 |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))) [2018-11-23 13:05:12,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 73 [2018-11-23 13:05:12,571 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:12,572 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:12,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:12,580 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 61 treesize of output 84 [2018-11-23 13:05:12,584 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:12,608 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:12,626 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:12,626 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:80, output treesize:76 [2018-11-23 13:05:14,898 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (let ((.cse0 (select |c_#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|)) (.cse1 (select |c_#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|)) (.cse2 (select |c_#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|))) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select .cse0 (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select .cse2 (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select .cse0 (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select .cse2 (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select .cse0 |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select .cse1 |v_main_~#B~0.offset_BEFORE_CALL_2|) (select .cse2 |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|))))) is different from true [2018-11-23 13:05:19,124 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 13:05:22,091 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (let ((.cse2 (select |c_#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|)) (.cse1 (select |c_#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|)) (.cse0 (select |c_#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|))) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select .cse0 |v_main_~#B~0.offset_BEFORE_CALL_3|) (select .cse1 |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select .cse2 |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select .cse0 (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select .cse1 (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select .cse1 (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select .cse0 (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))) is different from true [2018-11-23 13:05:22,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 91 treesize of output 79 [2018-11-23 13:05:22,867 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:22,868 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:22,869 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:05:22,874 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 53 treesize of output 35 [2018-11-23 13:05:22,877 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:22,898 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 10 [2018-11-23 13:05:22,900 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:22,910 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 5 [2018-11-23 13:05:22,911 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:05:22,914 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:22,925 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:05:22,925 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 7 variables, input treesize:103, output treesize:5 [2018-11-23 13:05:22,930 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:05:22,930 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#A~0.base|, |main_~#A~0.offset|, |main_~#B~0.base|, |main_~#B~0.offset|, |main_~#C~0.base|, |main_~#C~0.offset|]. (let ((.cse1 (select |#memory_int| |main_~#A~0.base|)) (.cse2 (select |#memory_int| |main_~#B~0.base|)) (.cse3 (select |#memory_int| |main_~#C~0.base|))) (let ((.cse4 (select .cse3 (+ |main_~#C~0.offset| 8))) (.cse5 (select .cse2 (+ |main_~#B~0.offset| 8))) (.cse0 (select .cse1 (+ |main_~#A~0.offset| 8)))) (and (= |main_#t~mem12| .cse0) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (+ (select .cse1 (+ |main_~#A~0.offset| 4)) (select .cse2 (+ |main_~#B~0.offset| 4))) (select .cse3 (+ |main_~#C~0.offset| 4))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_#t~mem14| .cse4) (= |main_#t~mem13| .cse5) (= .cse4 (+ .cse5 .cse0)) (= (select .cse3 |main_~#C~0.offset|) (+ (select .cse1 |main_~#A~0.offset|) (select .cse2 |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|))))) [2018-11-23 13:05:22,930 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem14| (+ |main_#t~mem13| |main_#t~mem12|)) [2018-11-23 13:05:23,004 INFO L256 TraceCheckUtils]: 0: Hoare triple {2173#true} call ULTIMATE.init(); {2173#true} is VALID [2018-11-23 13:05:23,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {2173#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2173#true} is VALID [2018-11-23 13:05:23,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {2173#true} assume true; {2173#true} is VALID [2018-11-23 13:05:23,005 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2173#true} {2173#true} #85#return; {2173#true} is VALID [2018-11-23 13:05:23,005 INFO L256 TraceCheckUtils]: 4: Hoare triple {2173#true} call #t~ret15 := main(); {2173#true} is VALID [2018-11-23 13:05:23,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {2173#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,009 INFO L273 TraceCheckUtils]: 7: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,010 INFO L273 TraceCheckUtils]: 8: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,011 INFO L273 TraceCheckUtils]: 9: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,012 INFO L273 TraceCheckUtils]: 10: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,013 INFO L273 TraceCheckUtils]: 11: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,014 INFO L273 TraceCheckUtils]: 12: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,014 INFO L273 TraceCheckUtils]: 13: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,015 INFO L273 TraceCheckUtils]: 14: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,016 INFO L273 TraceCheckUtils]: 15: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,017 INFO L273 TraceCheckUtils]: 16: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,018 INFO L273 TraceCheckUtils]: 17: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,019 INFO L273 TraceCheckUtils]: 18: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,020 INFO L273 TraceCheckUtils]: 19: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,021 INFO L273 TraceCheckUtils]: 20: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,021 INFO L273 TraceCheckUtils]: 21: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,022 INFO L273 TraceCheckUtils]: 22: Hoare triple {2216#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2260#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,024 INFO L273 TraceCheckUtils]: 23: Hoare triple {2260#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,024 INFO L273 TraceCheckUtils]: 24: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,025 INFO L273 TraceCheckUtils]: 25: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,026 INFO L273 TraceCheckUtils]: 26: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,027 INFO L273 TraceCheckUtils]: 27: Hoare triple {2226#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,028 INFO L273 TraceCheckUtils]: 28: Hoare triple {2206#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2279#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,030 INFO L273 TraceCheckUtils]: 29: Hoare triple {2279#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2283#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,032 INFO L273 TraceCheckUtils]: 30: Hoare triple {2283#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2287#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,040 INFO L273 TraceCheckUtils]: 31: Hoare triple {2287#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2291#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,044 INFO L273 TraceCheckUtils]: 32: Hoare triple {2291#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,045 INFO L273 TraceCheckUtils]: 33: Hoare triple {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,046 INFO L273 TraceCheckUtils]: 34: Hoare triple {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,046 INFO L273 TraceCheckUtils]: 35: Hoare triple {2295#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,047 INFO L273 TraceCheckUtils]: 36: Hoare triple {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,058 INFO L256 TraceCheckUtils]: 37: Hoare triple {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2312#(exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|))))} is VALID [2018-11-23 13:05:23,059 INFO L273 TraceCheckUtils]: 38: Hoare triple {2312#(exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|))))} ~cond := #in~cond; {2316#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:05:23,060 INFO L273 TraceCheckUtils]: 39: Hoare triple {2316#(and (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {2320#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))))} is VALID [2018-11-23 13:05:23,061 INFO L273 TraceCheckUtils]: 40: Hoare triple {2320#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))))} assume true; {2320#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))))} is VALID [2018-11-23 13:05:23,063 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2320#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.base_BEFORE_CALL_2| Int) (|v_main_~#C~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.offset_BEFORE_CALL_2| Int) (|v_main_~#B~0.base_BEFORE_CALL_2| Int) (|v_main_~#A~0.offset_BEFORE_CALL_2| Int) (|v_main_~#A~0.base_BEFORE_CALL_2| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) (+ |v_main_~#C~0.offset_BEFORE_CALL_2| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) (+ |v_main_~#B~0.offset_BEFORE_CALL_2| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) (+ |v_main_~#A~0.offset_BEFORE_CALL_2| 4)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_2|) |v_main_~#C~0.offset_BEFORE_CALL_2|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_2|) |v_main_~#B~0.offset_BEFORE_CALL_2|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_2|) |v_main_~#A~0.offset_BEFORE_CALL_2|))) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#C~0.base_BEFORE_CALL_2|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_2| |v_main_~#B~0.base_BEFORE_CALL_2|)))))} {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #89#return; {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,064 INFO L273 TraceCheckUtils]: 42: Hoare triple {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:05:23,066 INFO L273 TraceCheckUtils]: 43: Hoare triple {2305#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,068 INFO L273 TraceCheckUtils]: 44: Hoare triple {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,078 INFO L256 TraceCheckUtils]: 45: Hoare triple {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} is VALID [2018-11-23 13:05:23,079 INFO L273 TraceCheckUtils]: 46: Hoare triple {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} ~cond := #in~cond; {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} is VALID [2018-11-23 13:05:23,079 INFO L273 TraceCheckUtils]: 47: Hoare triple {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} assume !(0 == ~cond); {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} is VALID [2018-11-23 13:05:23,080 INFO L273 TraceCheckUtils]: 48: Hoare triple {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} assume true; {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} is VALID [2018-11-23 13:05:23,081 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2340#(exists ((|v_main_~#C~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.base_BEFORE_CALL_3| Int) (|v_main_~#C~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.base_BEFORE_CALL_3| Int) (|v_main_~#B~0.offset_BEFORE_CALL_3| Int) (|v_main_~#A~0.offset_BEFORE_CALL_3| Int)) (and (not (= |v_main_~#C~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) |v_main_~#B~0.offset_BEFORE_CALL_3|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) |v_main_~#A~0.offset_BEFORE_CALL_3|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) |v_main_~#C~0.offset_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#B~0.base_BEFORE_CALL_3|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_3| |v_main_~#C~0.base_BEFORE_CALL_3|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 8)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 8)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_3|) (+ |v_main_~#C~0.offset_BEFORE_CALL_3| 4)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_3|) (+ |v_main_~#A~0.offset_BEFORE_CALL_3| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_3|) (+ |v_main_~#B~0.offset_BEFORE_CALL_3| 4))))))} {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #89#return; {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,082 INFO L273 TraceCheckUtils]: 50: Hoare triple {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,084 INFO L273 TraceCheckUtils]: 51: Hoare triple {2333#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2359#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:05:23,090 INFO L273 TraceCheckUtils]: 52: Hoare triple {2359#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2186#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:05:23,108 INFO L256 TraceCheckUtils]: 53: Hoare triple {2186#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2366#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:05:23,117 INFO L273 TraceCheckUtils]: 54: Hoare triple {2366#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {2370#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:05:23,131 INFO L273 TraceCheckUtils]: 55: Hoare triple {2370#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2174#false} is VALID [2018-11-23 13:05:23,131 INFO L273 TraceCheckUtils]: 56: Hoare triple {2174#false} assume !false; {2174#false} is VALID [2018-11-23 13:05:23,153 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 41 refuted. 0 times theorem prover too weak. 1 trivial. 7 not checked. [2018-11-23 13:05:23,172 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:05:23,172 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 21] total 33 [2018-11-23 13:05:23,173 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 57 [2018-11-23 13:05:23,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:05:23,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states. [2018-11-23 13:05:23,405 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:05:23,405 INFO L459 AbstractCegarLoop]: Interpolant automaton has 33 states [2018-11-23 13:05:23,405 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2018-11-23 13:05:23,406 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=828, Unknown=3, NotChecked=118, Total=1056 [2018-11-23 13:05:23,406 INFO L87 Difference]: Start difference. First operand 60 states and 63 transitions. Second operand 33 states. [2018-11-23 13:06:33,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:06:33,939 INFO L93 Difference]: Finished difference Result 77 states and 80 transitions. [2018-11-23 13:06:33,939 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 13:06:33,939 INFO L78 Accepts]: Start accepts. Automaton has 33 states. Word has length 57 [2018-11-23 13:06:33,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:06:33,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 13:06:33,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 74 transitions. [2018-11-23 13:06:33,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 13:06:33,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 74 transitions. [2018-11-23 13:06:33,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 74 transitions. [2018-11-23 13:06:34,148 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:06:34,149 INFO L225 Difference]: With dead ends: 77 [2018-11-23 13:06:34,149 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 13:06:34,150 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 39 SyntacticMatches, 14 SemanticMatches, 46 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 540 ImplicationChecksByTransitivity, 13.2s TimeCoverageRelationStatistics Valid=271, Invalid=1804, Unknown=3, NotChecked=178, Total=2256 [2018-11-23 13:06:34,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 13:06:34,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 68. [2018-11-23 13:06:34,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:06:34,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 68 states. [2018-11-23 13:06:34,376 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 68 states. [2018-11-23 13:06:34,376 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 68 states. [2018-11-23 13:06:34,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:06:34,380 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2018-11-23 13:06:34,380 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2018-11-23 13:06:34,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:06:34,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:06:34,381 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 75 states. [2018-11-23 13:06:34,381 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 75 states. [2018-11-23 13:06:34,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:06:34,384 INFO L93 Difference]: Finished difference Result 75 states and 78 transitions. [2018-11-23 13:06:34,384 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 78 transitions. [2018-11-23 13:06:34,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:06:34,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:06:34,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:06:34,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:06:34,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 13:06:34,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 71 transitions. [2018-11-23 13:06:34,387 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 71 transitions. Word has length 57 [2018-11-23 13:06:34,387 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:06:34,387 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 71 transitions. [2018-11-23 13:06:34,387 INFO L481 AbstractCegarLoop]: Interpolant automaton has 33 states. [2018-11-23 13:06:34,387 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 71 transitions. [2018-11-23 13:06:34,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2018-11-23 13:06:34,388 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:06:34,388 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:06:34,389 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:06:34,389 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:06:34,389 INFO L82 PathProgramCache]: Analyzing trace with hash 970592775, now seen corresponding path program 5 times [2018-11-23 13:06:34,389 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:06:34,389 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:06:34,390 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:06:34,390 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:06:34,390 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:06:34,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:06:34,782 INFO L256 TraceCheckUtils]: 0: Hoare triple {2759#true} call ULTIMATE.init(); {2759#true} is VALID [2018-11-23 13:06:34,783 INFO L273 TraceCheckUtils]: 1: Hoare triple {2759#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2759#true} is VALID [2018-11-23 13:06:34,783 INFO L273 TraceCheckUtils]: 2: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:06:34,783 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2759#true} {2759#true} #85#return; {2759#true} is VALID [2018-11-23 13:06:34,783 INFO L256 TraceCheckUtils]: 4: Hoare triple {2759#true} call #t~ret15 := main(); {2759#true} is VALID [2018-11-23 13:06:34,784 INFO L273 TraceCheckUtils]: 5: Hoare triple {2759#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {2761#(= main_~i~0 0)} is VALID [2018-11-23 13:06:34,785 INFO L273 TraceCheckUtils]: 6: Hoare triple {2761#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2761#(= main_~i~0 0)} is VALID [2018-11-23 13:06:34,785 INFO L273 TraceCheckUtils]: 7: Hoare triple {2761#(= main_~i~0 0)} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2761#(= main_~i~0 0)} is VALID [2018-11-23 13:06:34,786 INFO L273 TraceCheckUtils]: 8: Hoare triple {2761#(= main_~i~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,787 INFO L273 TraceCheckUtils]: 9: Hoare triple {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,788 INFO L273 TraceCheckUtils]: 10: Hoare triple {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,789 INFO L273 TraceCheckUtils]: 11: Hoare triple {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:06:34,790 INFO L273 TraceCheckUtils]: 12: Hoare triple {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:06:34,791 INFO L273 TraceCheckUtils]: 13: Hoare triple {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:06:34,791 INFO L273 TraceCheckUtils]: 14: Hoare triple {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2764#(and (<= main_~i~0 3) (< 0 (+ (div main_~i~0 4294967296) 1)))} is VALID [2018-11-23 13:06:34,792 INFO L273 TraceCheckUtils]: 15: Hoare triple {2764#(and (<= main_~i~0 3) (< 0 (+ (div main_~i~0 4294967296) 1)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,792 INFO L273 TraceCheckUtils]: 16: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} ~i~0 := 0; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,793 INFO L273 TraceCheckUtils]: 17: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,793 INFO L273 TraceCheckUtils]: 18: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,793 INFO L273 TraceCheckUtils]: 19: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,794 INFO L273 TraceCheckUtils]: 20: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,794 INFO L273 TraceCheckUtils]: 21: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,795 INFO L273 TraceCheckUtils]: 22: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,796 INFO L273 TraceCheckUtils]: 23: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,796 INFO L273 TraceCheckUtils]: 24: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,797 INFO L273 TraceCheckUtils]: 25: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,797 INFO L273 TraceCheckUtils]: 26: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,803 INFO L273 TraceCheckUtils]: 27: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} ~i~0 := 0; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,803 INFO L273 TraceCheckUtils]: 28: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,804 INFO L273 TraceCheckUtils]: 29: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,804 INFO L273 TraceCheckUtils]: 30: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,804 INFO L273 TraceCheckUtils]: 31: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,805 INFO L273 TraceCheckUtils]: 32: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,805 INFO L273 TraceCheckUtils]: 33: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,805 INFO L273 TraceCheckUtils]: 34: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:06:34,806 INFO L273 TraceCheckUtils]: 35: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} ~i~0 := 0; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:06:34,807 INFO L273 TraceCheckUtils]: 36: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:06:34,807 INFO L256 TraceCheckUtils]: 37: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:06:34,807 INFO L273 TraceCheckUtils]: 38: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:06:34,807 INFO L273 TraceCheckUtils]: 39: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:06:34,808 INFO L273 TraceCheckUtils]: 40: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:06:34,809 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2759#true} {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} #89#return; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:06:34,809 INFO L273 TraceCheckUtils]: 42: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:06:34,811 INFO L273 TraceCheckUtils]: 43: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,812 INFO L273 TraceCheckUtils]: 44: Hoare triple {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,812 INFO L256 TraceCheckUtils]: 45: Hoare triple {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:06:34,812 INFO L273 TraceCheckUtils]: 46: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:06:34,812 INFO L273 TraceCheckUtils]: 47: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:06:34,813 INFO L273 TraceCheckUtils]: 48: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:06:34,814 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2759#true} {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} #89#return; {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,814 INFO L273 TraceCheckUtils]: 50: Hoare triple {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} is VALID [2018-11-23 13:06:34,815 INFO L273 TraceCheckUtils]: 51: Hoare triple {2767#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 2)) (<= main_~i~0 1))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:06:34,817 INFO L273 TraceCheckUtils]: 52: Hoare triple {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:06:34,817 INFO L256 TraceCheckUtils]: 53: Hoare triple {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:06:34,817 INFO L273 TraceCheckUtils]: 54: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:06:34,817 INFO L273 TraceCheckUtils]: 55: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:06:34,818 INFO L273 TraceCheckUtils]: 56: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:06:34,818 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {2759#true} {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} #89#return; {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:06:34,819 INFO L273 TraceCheckUtils]: 58: Hoare triple {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} is VALID [2018-11-23 13:06:34,820 INFO L273 TraceCheckUtils]: 59: Hoare triple {2768#(and (<= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 1)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2769#(and (<= (div main_~i~0 4294967296) 0) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0)))} is VALID [2018-11-23 13:06:34,822 INFO L273 TraceCheckUtils]: 60: Hoare triple {2769#(and (<= (div main_~i~0 4294967296) 0) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2760#false} is VALID [2018-11-23 13:06:34,822 INFO L256 TraceCheckUtils]: 61: Hoare triple {2760#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2760#false} is VALID [2018-11-23 13:06:34,823 INFO L273 TraceCheckUtils]: 62: Hoare triple {2760#false} ~cond := #in~cond; {2760#false} is VALID [2018-11-23 13:06:34,823 INFO L273 TraceCheckUtils]: 63: Hoare triple {2760#false} assume 0 == ~cond; {2760#false} is VALID [2018-11-23 13:06:34,823 INFO L273 TraceCheckUtils]: 64: Hoare triple {2760#false} assume !false; {2760#false} is VALID [2018-11-23 13:06:34,832 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 9 proven. 27 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2018-11-23 13:06:34,832 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:06:34,832 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:06:34,845 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 13:06:59,803 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 4 check-sat command(s) [2018-11-23 13:06:59,803 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:06:59,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:06:59,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:07:00,032 INFO L256 TraceCheckUtils]: 0: Hoare triple {2759#true} call ULTIMATE.init(); {2759#true} is VALID [2018-11-23 13:07:00,032 INFO L273 TraceCheckUtils]: 1: Hoare triple {2759#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2759#true} is VALID [2018-11-23 13:07:00,032 INFO L273 TraceCheckUtils]: 2: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:07:00,033 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2759#true} {2759#true} #85#return; {2759#true} is VALID [2018-11-23 13:07:00,033 INFO L256 TraceCheckUtils]: 4: Hoare triple {2759#true} call #t~ret15 := main(); {2759#true} is VALID [2018-11-23 13:07:00,033 INFO L273 TraceCheckUtils]: 5: Hoare triple {2759#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {2759#true} is VALID [2018-11-23 13:07:00,033 INFO L273 TraceCheckUtils]: 6: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,033 INFO L273 TraceCheckUtils]: 7: Hoare triple {2759#true} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2759#true} is VALID [2018-11-23 13:07:00,034 INFO L273 TraceCheckUtils]: 8: Hoare triple {2759#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2759#true} is VALID [2018-11-23 13:07:00,034 INFO L273 TraceCheckUtils]: 9: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,034 INFO L273 TraceCheckUtils]: 10: Hoare triple {2759#true} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2759#true} is VALID [2018-11-23 13:07:00,034 INFO L273 TraceCheckUtils]: 11: Hoare triple {2759#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 12: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 13: Hoare triple {2759#true} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 14: Hoare triple {2759#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 15: Hoare triple {2759#true} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 16: Hoare triple {2759#true} ~i~0 := 0; {2759#true} is VALID [2018-11-23 13:07:00,035 INFO L273 TraceCheckUtils]: 17: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 18: Hoare triple {2759#true} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 19: Hoare triple {2759#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 20: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 21: Hoare triple {2759#true} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 22: Hoare triple {2759#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 23: Hoare triple {2759#true} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 24: Hoare triple {2759#true} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {2759#true} is VALID [2018-11-23 13:07:00,036 INFO L273 TraceCheckUtils]: 25: Hoare triple {2759#true} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {2759#true} is VALID [2018-11-23 13:07:00,037 INFO L273 TraceCheckUtils]: 26: Hoare triple {2759#true} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2759#true} is VALID [2018-11-23 13:07:00,037 INFO L273 TraceCheckUtils]: 27: Hoare triple {2759#true} ~i~0 := 0; {2761#(= main_~i~0 0)} is VALID [2018-11-23 13:07:00,037 INFO L273 TraceCheckUtils]: 28: Hoare triple {2761#(= main_~i~0 0)} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2761#(= main_~i~0 0)} is VALID [2018-11-23 13:07:00,038 INFO L273 TraceCheckUtils]: 29: Hoare triple {2761#(= main_~i~0 0)} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:07:00,038 INFO L273 TraceCheckUtils]: 30: Hoare triple {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} is VALID [2018-11-23 13:07:00,039 INFO L273 TraceCheckUtils]: 31: Hoare triple {2762#(and (<= 1 main_~i~0) (<= main_~i~0 1))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:07:00,040 INFO L273 TraceCheckUtils]: 32: Hoare triple {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} is VALID [2018-11-23 13:07:00,040 INFO L273 TraceCheckUtils]: 33: Hoare triple {2763#(and (<= 2 main_~i~0) (<= main_~i~0 2))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {2872#(and (<= main_~i~0 3) (<= 3 main_~i~0))} is VALID [2018-11-23 13:07:00,042 INFO L273 TraceCheckUtils]: 34: Hoare triple {2872#(and (<= main_~i~0 3) (<= 3 main_~i~0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} is VALID [2018-11-23 13:07:00,042 INFO L273 TraceCheckUtils]: 35: Hoare triple {2765#(<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3))} ~i~0 := 0; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:00,044 INFO L273 TraceCheckUtils]: 36: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:00,044 INFO L256 TraceCheckUtils]: 37: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:07:00,044 INFO L273 TraceCheckUtils]: 38: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:07:00,044 INFO L273 TraceCheckUtils]: 39: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:07:00,044 INFO L273 TraceCheckUtils]: 40: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:07:00,046 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2759#true} {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} #89#return; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:00,046 INFO L273 TraceCheckUtils]: 42: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:00,047 INFO L273 TraceCheckUtils]: 43: Hoare triple {2766#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} is VALID [2018-11-23 13:07:00,048 INFO L273 TraceCheckUtils]: 44: Hoare triple {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} is VALID [2018-11-23 13:07:00,049 INFO L256 TraceCheckUtils]: 45: Hoare triple {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:07:00,049 INFO L273 TraceCheckUtils]: 46: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:07:00,049 INFO L273 TraceCheckUtils]: 47: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:07:00,049 INFO L273 TraceCheckUtils]: 48: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:07:00,050 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2759#true} {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} #89#return; {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} is VALID [2018-11-23 13:07:00,051 INFO L273 TraceCheckUtils]: 50: Hoare triple {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} is VALID [2018-11-23 13:07:00,052 INFO L273 TraceCheckUtils]: 51: Hoare triple {2903#(and (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)) (= main_~i~0 1))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} is VALID [2018-11-23 13:07:00,053 INFO L273 TraceCheckUtils]: 52: Hoare triple {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} is VALID [2018-11-23 13:07:00,053 INFO L256 TraceCheckUtils]: 53: Hoare triple {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2759#true} is VALID [2018-11-23 13:07:00,054 INFO L273 TraceCheckUtils]: 54: Hoare triple {2759#true} ~cond := #in~cond; {2759#true} is VALID [2018-11-23 13:07:00,054 INFO L273 TraceCheckUtils]: 55: Hoare triple {2759#true} assume !(0 == ~cond); {2759#true} is VALID [2018-11-23 13:07:00,054 INFO L273 TraceCheckUtils]: 56: Hoare triple {2759#true} assume true; {2759#true} is VALID [2018-11-23 13:07:00,055 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {2759#true} {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} #89#return; {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} is VALID [2018-11-23 13:07:00,056 INFO L273 TraceCheckUtils]: 58: Hoare triple {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} is VALID [2018-11-23 13:07:00,056 INFO L273 TraceCheckUtils]: 59: Hoare triple {2928#(and (= main_~i~0 2) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {2953#(and (= main_~i~0 3) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} is VALID [2018-11-23 13:07:00,057 INFO L273 TraceCheckUtils]: 60: Hoare triple {2953#(and (= main_~i~0 3) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) 3)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {2760#false} is VALID [2018-11-23 13:07:00,058 INFO L256 TraceCheckUtils]: 61: Hoare triple {2760#false} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {2760#false} is VALID [2018-11-23 13:07:00,058 INFO L273 TraceCheckUtils]: 62: Hoare triple {2760#false} ~cond := #in~cond; {2760#false} is VALID [2018-11-23 13:07:00,058 INFO L273 TraceCheckUtils]: 63: Hoare triple {2760#false} assume 0 == ~cond; {2760#false} is VALID [2018-11-23 13:07:00,058 INFO L273 TraceCheckUtils]: 64: Hoare triple {2760#false} assume !false; {2760#false} is VALID [2018-11-23 13:07:00,063 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 9 proven. 24 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2018-11-23 13:07:00,083 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:07:00,084 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2018-11-23 13:07:00,084 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 65 [2018-11-23 13:07:00,084 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:07:00,085 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 13:07:00,184 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:07:00,184 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 13:07:00,184 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 13:07:00,184 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2018-11-23 13:07:00,185 INFO L87 Difference]: Start difference. First operand 68 states and 71 transitions. Second operand 15 states. [2018-11-23 13:07:02,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:07:02,416 INFO L93 Difference]: Finished difference Result 164 states and 178 transitions. [2018-11-23 13:07:02,416 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 13:07:02,416 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 65 [2018-11-23 13:07:02,416 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 13:07:02,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:07:02,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 142 transitions. [2018-11-23 13:07:02,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 13:07:02,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 142 transitions. [2018-11-23 13:07:02,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 142 transitions. [2018-11-23 13:07:02,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:07:02,601 INFO L225 Difference]: With dead ends: 164 [2018-11-23 13:07:02,601 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 13:07:02,602 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 60 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2018-11-23 13:07:02,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 13:07:02,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 76. [2018-11-23 13:07:02,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 13:07:02,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 76 states. [2018-11-23 13:07:02,853 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 76 states. [2018-11-23 13:07:02,854 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 76 states. [2018-11-23 13:07:02,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:07:02,857 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 13:07:02,858 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 13:07:02,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:07:02,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:07:02,858 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 87 states. [2018-11-23 13:07:02,858 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 87 states. [2018-11-23 13:07:02,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 13:07:02,861 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 13:07:02,861 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 13:07:02,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 13:07:02,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 13:07:02,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 13:07:02,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 13:07:02,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-23 13:07:02,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 79 transitions. [2018-11-23 13:07:02,863 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 79 transitions. Word has length 65 [2018-11-23 13:07:02,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 13:07:02,863 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 79 transitions. [2018-11-23 13:07:02,863 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 13:07:02,864 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 79 transitions. [2018-11-23 13:07:02,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2018-11-23 13:07:02,864 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 13:07:02,864 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 13:07:02,865 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 13:07:02,865 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 13:07:02,865 INFO L82 PathProgramCache]: Analyzing trace with hash -639892289, now seen corresponding path program 6 times [2018-11-23 13:07:02,865 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 13:07:02,865 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 13:07:02,866 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:07:02,866 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 13:07:02,866 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 13:07:03,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:07:03,765 WARN L180 SmtUtils]: Spent 126.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 23 [2018-11-23 13:07:04,654 WARN L180 SmtUtils]: Spent 135.00 ms on a formula simplification. DAG size of input: 107 DAG size of output: 48 [2018-11-23 13:07:05,477 WARN L180 SmtUtils]: Spent 165.00 ms on a formula simplification. DAG size of input: 118 DAG size of output: 51 [2018-11-23 13:07:05,529 INFO L256 TraceCheckUtils]: 0: Hoare triple {3478#true} call ULTIMATE.init(); {3478#true} is VALID [2018-11-23 13:07:05,530 INFO L273 TraceCheckUtils]: 1: Hoare triple {3478#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3478#true} is VALID [2018-11-23 13:07:05,530 INFO L273 TraceCheckUtils]: 2: Hoare triple {3478#true} assume true; {3478#true} is VALID [2018-11-23 13:07:05,530 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3478#true} {3478#true} #85#return; {3478#true} is VALID [2018-11-23 13:07:05,530 INFO L256 TraceCheckUtils]: 4: Hoare triple {3478#true} call #t~ret15 := main(); {3478#true} is VALID [2018-11-23 13:07:05,531 INFO L273 TraceCheckUtils]: 5: Hoare triple {3478#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,532 INFO L273 TraceCheckUtils]: 6: Hoare triple {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,533 INFO L273 TraceCheckUtils]: 7: Hoare triple {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,534 INFO L273 TraceCheckUtils]: 8: Hoare triple {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,535 INFO L273 TraceCheckUtils]: 9: Hoare triple {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,536 INFO L273 TraceCheckUtils]: 10: Hoare triple {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,537 INFO L273 TraceCheckUtils]: 11: Hoare triple {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,538 INFO L273 TraceCheckUtils]: 12: Hoare triple {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,539 INFO L273 TraceCheckUtils]: 13: Hoare triple {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,540 INFO L273 TraceCheckUtils]: 14: Hoare triple {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,541 INFO L273 TraceCheckUtils]: 15: Hoare triple {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,542 INFO L273 TraceCheckUtils]: 16: Hoare triple {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,543 INFO L273 TraceCheckUtils]: 17: Hoare triple {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,544 INFO L273 TraceCheckUtils]: 18: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,545 INFO L273 TraceCheckUtils]: 19: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,546 INFO L273 TraceCheckUtils]: 20: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,546 INFO L273 TraceCheckUtils]: 21: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,547 INFO L273 TraceCheckUtils]: 22: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,548 INFO L273 TraceCheckUtils]: 23: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,549 INFO L273 TraceCheckUtils]: 24: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,550 INFO L273 TraceCheckUtils]: 25: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,551 INFO L273 TraceCheckUtils]: 26: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,552 INFO L273 TraceCheckUtils]: 27: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,552 INFO L273 TraceCheckUtils]: 28: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,554 INFO L273 TraceCheckUtils]: 29: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,554 INFO L273 TraceCheckUtils]: 30: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,555 INFO L273 TraceCheckUtils]: 31: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,556 INFO L273 TraceCheckUtils]: 32: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,557 INFO L273 TraceCheckUtils]: 33: Hoare triple {3484#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,558 INFO L273 TraceCheckUtils]: 34: Hoare triple {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,561 INFO L273 TraceCheckUtils]: 35: Hoare triple {3480#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,562 INFO L273 TraceCheckUtils]: 36: Hoare triple {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,563 INFO L273 TraceCheckUtils]: 37: Hoare triple {3481#(and (= |main_~#C~0.offset| 0) (<= 1 main_~i~0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,563 INFO L273 TraceCheckUtils]: 38: Hoare triple {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,564 INFO L273 TraceCheckUtils]: 39: Hoare triple {3482#(and (<= 2 main_~i~0) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,568 INFO L273 TraceCheckUtils]: 40: Hoare triple {3483#(and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= 3 main_~i~0) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3485#(and (= |main_~#C~0.offset| 0) (= (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 12) (+ (* 4 main_~i~0) |main_~#B~0.offset|)) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3)))) (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296))))) (= |main_~#B~0.offset| 0) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,569 INFO L273 TraceCheckUtils]: 41: Hoare triple {3485#(and (= |main_~#C~0.offset| 0) (= (+ (* 17179869184 (div main_~i~0 4294967296)) |main_~#A~0.offset| 12) (+ (* 4 main_~i~0) |main_~#B~0.offset|)) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3)))) (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296))))) (= |main_~#B~0.offset| 0) (< 0 (+ (div main_~i~0 4294967296) 1)) (= |main_~#A~0.offset| 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3486#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,570 INFO L273 TraceCheckUtils]: 42: Hoare triple {3486#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3486#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,571 INFO L273 TraceCheckUtils]: 43: Hoare triple {3486#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} ~i~0 := 0; {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,572 INFO L273 TraceCheckUtils]: 44: Hoare triple {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,573 INFO L256 TraceCheckUtils]: 45: Hoare triple {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3478#true} is VALID [2018-11-23 13:07:05,573 INFO L273 TraceCheckUtils]: 46: Hoare triple {3478#true} ~cond := #in~cond; {3488#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} is VALID [2018-11-23 13:07:05,574 INFO L273 TraceCheckUtils]: 47: Hoare triple {3488#(= __VERIFIER_assert_~cond |__VERIFIER_assert_#in~cond|)} assume !(0 == ~cond); {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:07:05,574 INFO L273 TraceCheckUtils]: 48: Hoare triple {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:07:05,576 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #89#return; {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,577 INFO L273 TraceCheckUtils]: 50: Hoare triple {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} is VALID [2018-11-23 13:07:05,579 INFO L273 TraceCheckUtils]: 51: Hoare triple {3487#(and (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| 12)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ 12 |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 3))))) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,580 INFO L273 TraceCheckUtils]: 52: Hoare triple {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,581 INFO L256 TraceCheckUtils]: 53: Hoare triple {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3478#true} is VALID [2018-11-23 13:07:05,581 INFO L273 TraceCheckUtils]: 54: Hoare triple {3478#true} ~cond := #in~cond; {3478#true} is VALID [2018-11-23 13:07:05,581 INFO L273 TraceCheckUtils]: 55: Hoare triple {3478#true} assume !(0 == ~cond); {3478#true} is VALID [2018-11-23 13:07:05,581 INFO L273 TraceCheckUtils]: 56: Hoare triple {3478#true} assume true; {3478#true} is VALID [2018-11-23 13:07:05,582 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {3478#true} {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #89#return; {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,584 INFO L273 TraceCheckUtils]: 58: Hoare triple {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,586 INFO L273 TraceCheckUtils]: 59: Hoare triple {3490#(and (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 8))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 8) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 2)))))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967294)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (<= main_~i~0 1) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,588 INFO L273 TraceCheckUtils]: 60: Hoare triple {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,588 INFO L256 TraceCheckUtils]: 61: Hoare triple {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3478#true} is VALID [2018-11-23 13:07:05,588 INFO L273 TraceCheckUtils]: 62: Hoare triple {3478#true} ~cond := #in~cond; {3478#true} is VALID [2018-11-23 13:07:05,588 INFO L273 TraceCheckUtils]: 63: Hoare triple {3478#true} assume !(0 == ~cond); {3478#true} is VALID [2018-11-23 13:07:05,589 INFO L273 TraceCheckUtils]: 64: Hoare triple {3478#true} assume true; {3478#true} is VALID [2018-11-23 13:07:05,590 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {3478#true} {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #89#return; {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,591 INFO L273 TraceCheckUtils]: 66: Hoare triple {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} is VALID [2018-11-23 13:07:05,593 INFO L273 TraceCheckUtils]: 67: Hoare triple {3491#(and (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#A~0.offset| (+ (* 4 main_~i~0) 4))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (+ (* 4 main_~i~0) 4) |main_~#A~0.offset|)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| (* 4 (+ main_~i~0 1)))))) (= |main_~#C~0.offset| 0) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967293)) (<= main_~i~0 2) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3492#(and (or (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967292)) (< 0 (+ (div main_~i~0 4294967296) 1))) (or (and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0)) (<= (+ (div main_~i~0 4294967296) 1) 0)))} is VALID [2018-11-23 13:07:05,596 INFO L273 TraceCheckUtils]: 68: Hoare triple {3492#(and (or (<= main_~M~0 (+ (* 4294967296 (div main_~M~0 4294967296)) main_~i~0 4294967292)) (< 0 (+ (div main_~i~0 4294967296) 1))) (or (and (<= main_~i~0 3) (= |main_~#C~0.offset| 0) (= (select (select |#memory_int| |main_~#C~0.base|) (+ (* 4 main_~i~0) |main_~#C~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ (* 4 main_~i~0) |main_~#B~0.offset| (* (- 17179869184) (div main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 main_~i~0) (* (- 17179869184) (div main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#A~0.base| |main_~#B~0.base|)) (not (= |main_~#A~0.base| |main_~#C~0.base|)) (= |main_~#B~0.offset| 0) (= |main_~#A~0.offset| 0)) (<= (+ (div main_~i~0 4294967296) 1) 0)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3493#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:07:05,598 INFO L256 TraceCheckUtils]: 69: Hoare triple {3493#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2018-11-23 13:07:05,598 INFO L273 TraceCheckUtils]: 70: Hoare triple {3489#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3494#(not (= __VERIFIER_assert_~cond 0))} is VALID [2018-11-23 13:07:05,599 INFO L273 TraceCheckUtils]: 71: Hoare triple {3494#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3479#false} is VALID [2018-11-23 13:07:05,599 INFO L273 TraceCheckUtils]: 72: Hoare triple {3479#false} assume !false; {3479#false} is VALID [2018-11-23 13:07:05,627 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 5 proven. 63 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 13:07:05,628 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 13:07:05,628 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 13:07:05,638 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 13:07:05,855 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 13:07:05,855 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 13:07:05,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 13:07:05,881 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 13:07:05,919 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:05,920 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 29 [2018-11-23 13:07:05,960 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:05,961 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:05,962 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 13 [2018-11-23 13:07:05,968 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:05,974 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:05,984 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:05,984 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:23, output treesize:16 [2018-11-23 13:07:06,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 13 treesize of output 10 [2018-11-23 13:07:06,185 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:07:06,188 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,190 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,199 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,200 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-23 13:07:06,203 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:06,204 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_20|, |v_main_#t~nondet3_4|]. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (store |v_#memory_int_20| |main_~#A~0.base| (store (select |v_#memory_int_20| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12) |v_main_#t~nondet3_4|)) |#memory_int|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,204 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,272 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 38 treesize of output 35 [2018-11-23 13:07:06,280 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 13 [2018-11-23 13:07:06,283 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,295 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,330 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,331 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:79, output treesize:16 [2018-11-23 13:07:06,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:06,337 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_7, v_prenex_6, |v_#memory_int_21|, |v_main_#t~nondet6_6|]. (let ((.cse6 (mod main_~i~0 4294967296))) (let ((.cse4 (<= .cse6 2147483647)) (.cse0 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse1 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse2 (* 4 .cse6)) (.cse3 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse5 (= main_~i~0 0))) (or (and .cse0 .cse1 (= (store v_prenex_7 |main_~#B~0.base| (store (select v_prenex_7 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse2) v_prenex_6)) |#memory_int|) .cse3 .cse4 .cse5) (and (not .cse4) .cse0 .cse1 (= |#memory_int| (store |v_#memory_int_21| |main_~#B~0.base| (store (select |v_#memory_int_21| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse2 (- 17179869184)) |v_main_#t~nondet6_6|))) .cse3 .cse5)))) [2018-11-23 13:07:06,338 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0)) [2018-11-23 13:07:06,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 38 treesize of output 35 [2018-11-23 13:07:06,391 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 13 [2018-11-23 13:07:06,398 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,411 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,443 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,444 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:79, output treesize:16 [2018-11-23 13:07:06,449 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:06,450 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_22|, |v_main_#t~nondet6_7|, v_prenex_9, v_prenex_8]. (let ((.cse6 (mod main_~i~0 4294967296))) (let ((.cse1 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse2 (= main_~i~0 1)) (.cse3 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse4 (* 4 .cse6)) (.cse5 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse0 (<= .cse6 2147483647))) (or (and (not .cse0) .cse1 .cse2 .cse3 (= |#memory_int| (store |v_#memory_int_22| |main_~#B~0.base| (store (select |v_#memory_int_22| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse4 (- 17179869184)) |v_main_#t~nondet6_7|))) .cse5) (and .cse1 .cse2 .cse3 (= (store v_prenex_9 |main_~#B~0.base| (store (select v_prenex_9 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse4) v_prenex_8)) |#memory_int|) .cse5 .cse0)))) [2018-11-23 13:07:06,450 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,482 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 38 treesize of output 35 [2018-11-23 13:07:06,489 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 13 [2018-11-23 13:07:06,491 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,505 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,540 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,540 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:79, output treesize:16 [2018-11-23 13:07:06,546 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:06,546 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_23|, |v_main_#t~nondet6_8|, v_prenex_11, v_prenex_10]. (let ((.cse6 (mod main_~i~0 4294967296))) (let ((.cse0 (= main_~i~0 2)) (.cse5 (<= .cse6 2147483647)) (.cse2 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse1 (* 4 .cse6)) (.cse3 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse4 (not (= |main_~#B~0.base| |main_~#A~0.base|)))) (or (and .cse0 (= |#memory_int| (store |v_#memory_int_23| |main_~#B~0.base| (store (select |v_#memory_int_23| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1) |v_main_#t~nondet6_8|))) .cse2 .cse3 .cse4 .cse5) (and .cse0 (not .cse5) .cse2 (= (store v_prenex_11 |main_~#B~0.base| (store (select v_prenex_11 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1 (- 17179869184)) v_prenex_10)) |#memory_int|) .cse3 .cse4)))) [2018-11-23 13:07:06,546 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,569 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 13 treesize of output 10 [2018-11-23 13:07:06,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 13:07:06,577 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,579 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,589 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,590 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:13 [2018-11-23 13:07:06,594 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:06,594 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_24|, |v_main_#t~nondet6_9|]. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (store |v_#memory_int_24| |main_~#B~0.base| (store (select |v_#memory_int_24| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12) |v_main_#t~nondet6_9|)) |#memory_int|) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,594 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|))) [2018-11-23 13:07:06,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 57 [2018-11-23 13:07:06,662 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 35 [2018-11-23 13:07:06,665 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,680 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,716 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:06,716 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:125, output treesize:51 [2018-11-23 13:07:08,914 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:08,915 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_12, |v_#memory_int_25|]. (let ((.cse6 (mod main_~i~0 4294967296))) (let ((.cse1 (* 4 .cse6)) (.cse4 (<= .cse6 2147483647)) (.cse0 (not (= |main_~#C~0.base| |main_~#A~0.base|))) (.cse2 (not (= |main_~#B~0.base| |main_~#C~0.base|))) (.cse3 (not (= |main_~#B~0.base| |main_~#A~0.base|))) (.cse5 (= main_~i~0 0))) (or (and .cse0 (= |#memory_int| (store v_prenex_12 |main_~#C~0.base| (store (select v_prenex_12 |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse1) (+ (select (select v_prenex_12 |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1)) (select (select v_prenex_12 |main_~#A~0.base|) (+ .cse1 |main_~#A~0.offset|)))))) .cse2 .cse3 .cse4 .cse5) (and (= (store |v_#memory_int_25| |main_~#C~0.base| (store (select |v_#memory_int_25| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse1 (- 17179869184)) (+ (select (select |v_#memory_int_25| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse1 (- 17179869184))) (select (select |v_#memory_int_25| |main_~#A~0.base|) (+ .cse1 |main_~#A~0.offset| (- 17179869184)))))) |#memory_int|) (not .cse4) .cse0 .cse2 .cse3 .cse5)))) [2018-11-23 13:07:08,915 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (let ((.cse0 (* 4 (mod main_~i~0 4294967296)))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| .cse0)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| .cse0)) (select (select |#memory_int| |main_~#A~0.base|) (+ .cse0 |main_~#A~0.offset|))))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0)) [2018-11-23 13:07:09,118 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:07:09,119 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:09,164 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 64 [2018-11-23 13:07:09,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:09,176 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 52 treesize of output 63 [2018-11-23 13:07:09,182 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:09,198 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:09,218 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:09,219 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:159, output treesize:68 [2018-11-23 13:07:11,148 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 13:07:11,149 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 80 treesize of output 85 [2018-11-23 13:07:11,259 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,261 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,262 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 104 [2018-11-23 13:07:11,273 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,296 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,320 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,321 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:205, output treesize:91 [2018-11-23 13:07:11,542 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 91 treesize of output 94 [2018-11-23 13:07:11,557 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,558 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,559 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,561 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,562 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,563 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:11,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 129 [2018-11-23 13:07:11,579 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,609 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,634 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:11,634 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:103, output treesize:99 [2018-11-23 13:07:13,969 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (let ((.cse1 (select |c_#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|)) (.cse0 (select |c_#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|)) (.cse2 (select |c_#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|))) (and (= (+ (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select .cse1 |v_main_~#B~0.offset_BEFORE_CALL_4|) (select .cse0 |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select .cse2 |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))) is different from true [2018-11-23 13:07:16,903 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (let ((.cse1 (select |c_#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|)) (.cse0 (select |c_#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|)) (.cse2 (select |c_#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|))) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select .cse2 (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select .cse0 (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select .cse1 |v_main_~#B~0.offset_BEFORE_CALL_5|) (select .cse0 |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select .cse2 |v_main_~#C~0.offset_BEFORE_CALL_5|))))) is different from true [2018-11-23 13:07:19,832 WARN L854 $PredicateComparison]: unable to prove that (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (let ((.cse0 (select |c_#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|)) (.cse2 (select |c_#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|)) (.cse1 (select |c_#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|))) (and (= (select .cse0 |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select .cse1 |v_main_~#B~0.offset_BEFORE_CALL_6|) (select .cse2 |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select .cse2 (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select .cse0 (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select .cse0 (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select .cse2 (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select .cse0 (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select .cse2 (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select .cse1 (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|))))) is different from true [2018-11-23 13:07:24,185 WARN L180 SmtUtils]: Spent 2.07 s on a formula simplification that was a NOOP. DAG size: 54 [2018-11-23 13:07:25,198 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 114 treesize of output 96 [2018-11-23 13:07:25,210 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,210 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,211 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,212 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,224 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,225 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 13:07:25,235 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 70 treesize of output 57 [2018-11-23 13:07:25,239 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:25,264 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 9 [2018-11-23 13:07:25,268 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:25,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 6 [2018-11-23 13:07:25,277 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 13:07:25,279 INFO L267 ElimStorePlain]: Start of recursive call 2: 3 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:25,290 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 13:07:25,291 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 7 variables, input treesize:126, output treesize:6 [2018-11-23 13:07:25,295 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 13:07:25,295 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#A~0.base|, |main_~#A~0.offset|, |main_~#B~0.base|, |main_~#B~0.offset|, |main_~#C~0.base|, |main_~#C~0.offset|]. (let ((.cse4 (select |#memory_int| |main_~#B~0.base|)) (.cse5 (select |#memory_int| |main_~#C~0.base|)) (.cse3 (select |#memory_int| |main_~#A~0.base|))) (let ((.cse0 (select .cse3 (+ |main_~#A~0.offset| 12))) (.cse1 (select .cse5 (+ |main_~#C~0.offset| 12))) (.cse2 (select .cse4 (+ |main_~#B~0.offset| 12)))) (and (= |main_#t~mem12| .cse0) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= .cse1 (+ .cse0 .cse2)) (= (+ (select .cse3 (+ |main_~#A~0.offset| 4)) (select .cse4 (+ |main_~#B~0.offset| 4))) (select .cse5 (+ |main_~#C~0.offset| 4))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select .cse5 (+ |main_~#C~0.offset| 8)) (+ (select .cse4 (+ |main_~#B~0.offset| 8)) (select .cse3 (+ |main_~#A~0.offset| 8)))) (= (select .cse5 |main_~#C~0.offset|) (+ (select .cse3 |main_~#A~0.offset|) (select .cse4 |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= |main_#t~mem14| .cse1) (= |main_#t~mem13| .cse2)))) [2018-11-23 13:07:25,295 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem13| (+ |main_#t~mem14| (- |main_#t~mem12|))) [2018-11-23 13:07:25,370 INFO L256 TraceCheckUtils]: 0: Hoare triple {3478#true} call ULTIMATE.init(); {3478#true} is VALID [2018-11-23 13:07:25,370 INFO L273 TraceCheckUtils]: 1: Hoare triple {3478#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3478#true} is VALID [2018-11-23 13:07:25,370 INFO L273 TraceCheckUtils]: 2: Hoare triple {3478#true} assume true; {3478#true} is VALID [2018-11-23 13:07:25,371 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3478#true} {3478#true} #85#return; {3478#true} is VALID [2018-11-23 13:07:25,371 INFO L256 TraceCheckUtils]: 4: Hoare triple {3478#true} call #t~ret15 := main(); {3478#true} is VALID [2018-11-23 13:07:25,388 INFO L273 TraceCheckUtils]: 5: Hoare triple {3478#true} ~M~0 := #t~nondet1;havoc #t~nondet1;call ~#A~0.base, ~#A~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#B~0.base, ~#B~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));call ~#C~0.base, ~#C~0.offset := #Ultimate.alloc(4 * (if ~M~0 % 4294967296 % 4294967296 <= 2147483647 then ~M~0 % 4294967296 % 4294967296 else ~M~0 % 4294967296 % 4294967296 - 4294967296));havoc ~i~0;~i~0 := 0; {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,394 INFO L273 TraceCheckUtils]: 6: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,395 INFO L273 TraceCheckUtils]: 7: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,396 INFO L273 TraceCheckUtils]: 8: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,396 INFO L273 TraceCheckUtils]: 9: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,397 INFO L273 TraceCheckUtils]: 10: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,397 INFO L273 TraceCheckUtils]: 11: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,398 INFO L273 TraceCheckUtils]: 12: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,398 INFO L273 TraceCheckUtils]: 13: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,399 INFO L273 TraceCheckUtils]: 14: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3543#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,400 INFO L273 TraceCheckUtils]: 15: Hoare triple {3543#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet3;call #t~mem4 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,401 INFO L273 TraceCheckUtils]: 16: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem4 <= 1000000);havoc #t~mem4; {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,402 INFO L273 TraceCheckUtils]: 17: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,403 INFO L273 TraceCheckUtils]: 18: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,403 INFO L273 TraceCheckUtils]: 19: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,404 INFO L273 TraceCheckUtils]: 20: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,405 INFO L273 TraceCheckUtils]: 21: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,406 INFO L273 TraceCheckUtils]: 22: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,407 INFO L273 TraceCheckUtils]: 23: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,408 INFO L273 TraceCheckUtils]: 24: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,409 INFO L273 TraceCheckUtils]: 25: Hoare triple {3523#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,410 INFO L273 TraceCheckUtils]: 26: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,411 INFO L273 TraceCheckUtils]: 27: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,411 INFO L273 TraceCheckUtils]: 28: Hoare triple {3533#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3543#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,412 INFO L273 TraceCheckUtils]: 29: Hoare triple {3543#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~nondet6;call #t~mem7 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,413 INFO L273 TraceCheckUtils]: 30: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(#t~mem7 <= 1000000);havoc #t~mem7; {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,414 INFO L273 TraceCheckUtils]: 31: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post5 := ~i~0;~i~0 := 1 + #t~post5;havoc #t~post5; {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,415 INFO L273 TraceCheckUtils]: 32: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,415 INFO L273 TraceCheckUtils]: 33: Hoare triple {3547#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,417 INFO L273 TraceCheckUtils]: 34: Hoare triple {3513#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3605#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,419 INFO L273 TraceCheckUtils]: 35: Hoare triple {3605#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3609#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,421 INFO L273 TraceCheckUtils]: 36: Hoare triple {3609#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3613#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,422 INFO L273 TraceCheckUtils]: 37: Hoare triple {3613#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3617#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,427 INFO L273 TraceCheckUtils]: 38: Hoare triple {3617#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3621#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,428 INFO L273 TraceCheckUtils]: 39: Hoare triple {3621#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| (* 4 (mod main_~i~0 4294967296)))) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| (* 4 (mod main_~i~0 4294967296)))) (select (select |#memory_int| |main_~#A~0.base|) (+ (* 4 (mod main_~i~0 4294967296)) |main_~#A~0.offset|)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3625#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,430 INFO L273 TraceCheckUtils]: 40: Hoare triple {3625#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem9 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem10 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~int(#t~mem9 + #t~mem10, ~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);havoc #t~mem10;havoc #t~mem9; {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,431 INFO L273 TraceCheckUtils]: 41: Hoare triple {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post8 := ~i~0;~i~0 := 1 + #t~post8;havoc #t~post8; {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,432 INFO L273 TraceCheckUtils]: 42: Hoare triple {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !(~i~0 % 4294967296 < ~M~0 % 4294967296); {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,434 INFO L273 TraceCheckUtils]: 43: Hoare triple {3629#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} ~i~0 := 0; {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,435 INFO L273 TraceCheckUtils]: 44: Hoare triple {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,459 INFO L256 TraceCheckUtils]: 45: Hoare triple {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} is VALID [2018-11-23 13:07:25,460 INFO L273 TraceCheckUtils]: 46: Hoare triple {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} ~cond := #in~cond; {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} is VALID [2018-11-23 13:07:25,460 INFO L273 TraceCheckUtils]: 47: Hoare triple {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} assume !(0 == ~cond); {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} is VALID [2018-11-23 13:07:25,460 INFO L273 TraceCheckUtils]: 48: Hoare triple {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} assume true; {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} is VALID [2018-11-23 13:07:25,461 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3646#(exists ((|v_main_~#B~0.base_BEFORE_CALL_4| Int) (|v_main_~#C~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.base_BEFORE_CALL_4| Int) (|v_main_~#B~0.offset_BEFORE_CALL_4| Int) (|v_main_~#A~0.offset_BEFORE_CALL_4| Int) (|v_main_~#C~0.base_BEFORE_CALL_4| Int)) (and (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 12))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 12))) (not (= |v_main_~#C~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 4)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 4)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#C~0.base_BEFORE_CALL_4|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) (+ |v_main_~#A~0.offset_BEFORE_CALL_4| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) (+ |v_main_~#B~0.offset_BEFORE_CALL_4| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) (+ |v_main_~#C~0.offset_BEFORE_CALL_4| 8))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_4|) |v_main_~#B~0.offset_BEFORE_CALL_4|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_4|) |v_main_~#A~0.offset_BEFORE_CALL_4|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_4|) |v_main_~#C~0.offset_BEFORE_CALL_4|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_4| |v_main_~#B~0.base_BEFORE_CALL_4|))))} {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #89#return; {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,463 INFO L273 TraceCheckUtils]: 50: Hoare triple {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} is VALID [2018-11-23 13:07:25,465 INFO L273 TraceCheckUtils]: 51: Hoare triple {3639#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)) (= main_~i~0 0))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,466 INFO L273 TraceCheckUtils]: 52: Hoare triple {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,489 INFO L256 TraceCheckUtils]: 53: Hoare triple {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} is VALID [2018-11-23 13:07:25,490 INFO L273 TraceCheckUtils]: 54: Hoare triple {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} ~cond := #in~cond; {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} is VALID [2018-11-23 13:07:25,490 INFO L273 TraceCheckUtils]: 55: Hoare triple {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} assume !(0 == ~cond); {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} is VALID [2018-11-23 13:07:25,491 INFO L273 TraceCheckUtils]: 56: Hoare triple {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} assume true; {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} is VALID [2018-11-23 13:07:25,491 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {3672#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.base_BEFORE_CALL_5| Int) (|v_main_~#A~0.offset_BEFORE_CALL_5| Int) (|v_main_~#B~0.offset_BEFORE_CALL_5| Int) (|v_main_~#C~0.base_BEFORE_CALL_5| Int)) (and (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#C~0.base_BEFORE_CALL_5|)) (not (= |v_main_~#A~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 4)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 4))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 8)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 8))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 8))) (not (= |v_main_~#C~0.base_BEFORE_CALL_5| |v_main_~#B~0.base_BEFORE_CALL_5|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) (+ |v_main_~#C~0.offset_BEFORE_CALL_5| 12)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) (+ |v_main_~#A~0.offset_BEFORE_CALL_5| 12)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) (+ |v_main_~#B~0.offset_BEFORE_CALL_5| 12)))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_5|) |v_main_~#B~0.offset_BEFORE_CALL_5|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_5|) |v_main_~#A~0.offset_BEFORE_CALL_5|)) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_5|) |v_main_~#C~0.offset_BEFORE_CALL_5|))))} {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #89#return; {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,492 INFO L273 TraceCheckUtils]: 58: Hoare triple {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,494 INFO L273 TraceCheckUtils]: 59: Hoare triple {3665#(and (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= main_~i~0 1) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,495 INFO L273 TraceCheckUtils]: 60: Hoare triple {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,520 INFO L256 TraceCheckUtils]: 61: Hoare triple {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3698#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|))))} is VALID [2018-11-23 13:07:25,521 INFO L273 TraceCheckUtils]: 62: Hoare triple {3698#(exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|))))} ~cond := #in~cond; {3702#(and (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} is VALID [2018-11-23 13:07:25,522 INFO L273 TraceCheckUtils]: 63: Hoare triple {3702#(and (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))) (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond))} assume !(0 == ~cond); {3706#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))))} is VALID [2018-11-23 13:07:25,523 INFO L273 TraceCheckUtils]: 64: Hoare triple {3706#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))))} assume true; {3706#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))))} is VALID [2018-11-23 13:07:25,524 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {3706#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (exists ((|v_main_~#C~0.offset_BEFORE_CALL_6| Int) (|v_main_~#B~0.base_BEFORE_CALL_6| Int) (|v_main_~#B~0.offset_BEFORE_CALL_6| Int) (|v_main_~#C~0.base_BEFORE_CALL_6| Int) (|v_main_~#A~0.offset_BEFORE_CALL_6| Int) (|v_main_~#A~0.base_BEFORE_CALL_6| Int)) (and (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) |v_main_~#C~0.offset_BEFORE_CALL_6|) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) |v_main_~#B~0.offset_BEFORE_CALL_6|) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) |v_main_~#A~0.offset_BEFORE_CALL_6|))) (= (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 4)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 4))) (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 4))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#C~0.base_BEFORE_CALL_6|)) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 12)) (+ (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 12)) (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 12)))) (= (select (select |#memory_int| |v_main_~#C~0.base_BEFORE_CALL_6|) (+ |v_main_~#C~0.offset_BEFORE_CALL_6| 8)) (+ (select (select |#memory_int| |v_main_~#A~0.base_BEFORE_CALL_6|) (+ |v_main_~#A~0.offset_BEFORE_CALL_6| 8)) (select (select |#memory_int| |v_main_~#B~0.base_BEFORE_CALL_6|) (+ |v_main_~#B~0.offset_BEFORE_CALL_6| 8)))) (not (= |v_main_~#A~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)) (not (= |v_main_~#C~0.base_BEFORE_CALL_6| |v_main_~#B~0.base_BEFORE_CALL_6|)))))} {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #89#return; {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,525 INFO L273 TraceCheckUtils]: 66: Hoare triple {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} havoc #t~mem14;havoc #t~mem12;havoc #t~mem13; {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,527 INFO L273 TraceCheckUtils]: 67: Hoare triple {3691#(and (= main_~i~0 2) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} #t~post11 := ~i~0;~i~0 := 1 + #t~post11;havoc #t~post11; {3719#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} is VALID [2018-11-23 13:07:25,528 INFO L273 TraceCheckUtils]: 68: Hoare triple {3719#(and (= main_~i~0 3) (not (= |main_~#C~0.base| |main_~#A~0.base|)) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 12)) (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 12)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 12)))) (not (= |main_~#B~0.base| |main_~#C~0.base|)) (= (+ (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 4)) (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 4))) (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 4))) (= (select (select |#memory_int| |main_~#C~0.base|) (+ |main_~#C~0.offset| 8)) (+ (select (select |#memory_int| |main_~#B~0.base|) (+ |main_~#B~0.offset| 8)) (select (select |#memory_int| |main_~#A~0.base|) (+ |main_~#A~0.offset| 8)))) (= (select (select |#memory_int| |main_~#C~0.base|) |main_~#C~0.offset|) (+ (select (select |#memory_int| |main_~#A~0.base|) |main_~#A~0.offset|) (select (select |#memory_int| |main_~#B~0.base|) |main_~#B~0.offset|))) (not (= |main_~#B~0.base| |main_~#A~0.base|)))} assume !!(~i~0 % 4294967296 < ~M~0 % 4294967296);call #t~mem14 := read~int(~#C~0.base, ~#C~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem12 := read~int(~#A~0.base, ~#A~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call #t~mem13 := read~int(~#B~0.base, ~#B~0.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4); {3493#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} is VALID [2018-11-23 13:07:25,529 INFO L256 TraceCheckUtils]: 69: Hoare triple {3493#(= (+ |main_#t~mem13| |main_#t~mem12|) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem14 == #t~mem12 + #t~mem13 then 1 else 0)); {3726#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 13:07:25,530 INFO L273 TraceCheckUtils]: 70: Hoare triple {3726#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {3730#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 13:07:25,530 INFO L273 TraceCheckUtils]: 71: Hoare triple {3730#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3479#false} is VALID [2018-11-23 13:07:25,531 INFO L273 TraceCheckUtils]: 72: Hoare triple {3479#false} assume !false; {3479#false} is VALID [2018-11-23 13:07:25,577 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 0 proven. 79 refuted. 0 times theorem prover too weak. 0 trivial. 17 not checked. [2018-11-23 13:07:25,596 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 13:07:25,596 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 26] total 40 [2018-11-23 13:07:25,597 INFO L78 Accepts]: Start accepts. Automaton has 40 states. Word has length 73 [2018-11-23 13:07:25,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 13:07:25,597 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states. [2018-11-23 13:07:26,046 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 13:07:26,046 INFO L459 AbstractCegarLoop]: Interpolant automaton has 40 states [2018-11-23 13:07:26,046 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2018-11-23 13:07:26,047 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=133, Invalid=1207, Unknown=4, NotChecked=216, Total=1560 [2018-11-23 13:07:26,047 INFO L87 Difference]: Start difference. First operand 76 states and 79 transitions. Second operand 40 states. [2018-11-23 13:08:05,084 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 29