java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-crafted/mapavg5_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:27:09,759 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:27:09,761 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:27:09,776 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:27:09,777 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:27:09,778 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:27:09,780 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:27:09,782 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:27:09,784 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:27:09,785 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:27:09,793 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:27:09,793 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:27:09,794 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:27:09,795 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:27:09,796 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:27:09,799 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:27:09,800 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:27:09,801 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:27:09,807 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:27:09,808 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:27:09,810 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:27:09,811 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:27:09,814 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:27:09,814 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:27:09,814 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:27:09,818 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:27:09,819 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:27:09,819 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:27:09,820 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:27:09,824 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:27:09,824 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:27:09,825 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:27:09,825 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:27:09,825 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:27:09,827 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:27:09,829 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:27:09,829 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:27:09,856 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:27:09,857 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:27:09,857 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:27:09,857 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:27:09,858 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:27:09,858 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:27:09,859 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:27:09,859 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:27:09,859 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:27:09,859 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:27:09,859 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:27:09,860 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:27:09,862 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:27:09,862 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:27:09,862 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:27:09,862 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:27:09,862 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:27:09,863 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:27:09,863 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:27:09,863 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:27:09,863 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:27:09,863 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:27:09,863 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:27:09,864 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:27:09,864 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:27:09,864 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:27:09,915 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:27:09,933 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:27:09,938 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:27:09,940 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:27:09,940 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:27:09,941 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-crafted/mapavg5_true-unreach-call.i [2018-11-23 12:27:10,015 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90ccfa86c/f02a045fb1324184aa37a84ba81dfa99/FLAGcb366f3c3 [2018-11-23 12:27:10,419 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:27:10,419 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-crafted/mapavg5_true-unreach-call.i [2018-11-23 12:27:10,425 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90ccfa86c/f02a045fb1324184aa37a84ba81dfa99/FLAGcb366f3c3 [2018-11-23 12:27:10,807 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/90ccfa86c/f02a045fb1324184aa37a84ba81dfa99 [2018-11-23 12:27:10,818 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:27:10,819 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:27:10,820 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:27:10,820 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:27:10,825 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:27:10,826 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:27:10" (1/1) ... [2018-11-23 12:27:10,829 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@652b622c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:10, skipping insertion in model container [2018-11-23 12:27:10,829 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:27:10" (1/1) ... [2018-11-23 12:27:10,840 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:27:10,864 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:27:11,106 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:27:11,117 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:27:11,144 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:27:11,163 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:27:11,163 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11 WrapperNode [2018-11-23 12:27:11,163 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:27:11,164 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:27:11,164 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:27:11,164 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:27:11,174 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,184 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,190 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:27:11,191 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:27:11,191 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:27:11,191 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:27:11,199 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,199 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,202 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,202 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,214 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,220 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,222 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... [2018-11-23 12:27:11,224 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:27:11,225 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:27:11,225 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:27:11,225 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:27:11,226 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:27:11,350 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:27:11,351 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:27:11,351 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:27:11,351 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:27:11,351 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:27:11,351 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:27:11,351 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:27:11,352 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:27:11,352 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:27:11,352 INFO L130 BoogieDeclarations]: Found specification of procedure mapavg [2018-11-23 12:27:11,352 INFO L138 BoogieDeclarations]: Found implementation of procedure mapavg [2018-11-23 12:27:11,352 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:27:12,052 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:27:12,053 INFO L280 CfgBuilder]: Removed 2 assue(true) statements. [2018-11-23 12:27:12,053 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:27:12 BoogieIcfgContainer [2018-11-23 12:27:12,054 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:27:12,055 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:27:12,055 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:27:12,058 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:27:12,058 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:27:10" (1/3) ... [2018-11-23 12:27:12,059 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50e8d8a8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:27:12, skipping insertion in model container [2018-11-23 12:27:12,059 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:27:11" (2/3) ... [2018-11-23 12:27:12,060 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50e8d8a8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:27:12, skipping insertion in model container [2018-11-23 12:27:12,060 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:27:12" (3/3) ... [2018-11-23 12:27:12,062 INFO L112 eAbstractionObserver]: Analyzing ICFG mapavg5_true-unreach-call.i [2018-11-23 12:27:12,070 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:27:12,076 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:27:12,093 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:27:12,125 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:27:12,126 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:27:12,126 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:27:12,127 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:27:12,128 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:27:12,129 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:27:12,129 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:27:12,129 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:27:12,129 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:27:12,145 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 12:27:12,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:27:12,153 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:27:12,154 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:27:12,157 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:27:12,162 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:27:12,162 INFO L82 PathProgramCache]: Analyzing trace with hash -1503982502, now seen corresponding path program 1 times [2018-11-23 12:27:12,164 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:27:12,165 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:27:12,212 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:12,212 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:12,212 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:12,264 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:27:12,265 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:27:12,265 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:27:12,283 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:12,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:12,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:12,369 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:27:12,720 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 12:27:12,723 INFO L273 TraceCheckUtils]: 1: Hoare triple {34#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {34#true} is VALID [2018-11-23 12:27:12,724 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:27:12,724 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #60#return; {34#true} is VALID [2018-11-23 12:27:12,724 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret11 := main(); {34#true} is VALID [2018-11-23 12:27:12,725 INFO L273 TraceCheckUtils]: 5: Hoare triple {34#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {34#true} is VALID [2018-11-23 12:27:12,725 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {57#(< 1 ~N~0)} is VALID [2018-11-23 12:27:12,729 INFO L256 TraceCheckUtils]: 7: Hoare triple {57#(< 1 ~N~0)} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {57#(< 1 ~N~0)} is VALID [2018-11-23 12:27:12,730 INFO L273 TraceCheckUtils]: 8: Hoare triple {57#(< 1 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {64#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} is VALID [2018-11-23 12:27:12,733 INFO L273 TraceCheckUtils]: 9: Hoare triple {64#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} assume !(~i~0 < ~N~0); {35#false} is VALID [2018-11-23 12:27:12,733 INFO L273 TraceCheckUtils]: 10: Hoare triple {35#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {35#false} is VALID [2018-11-23 12:27:12,734 INFO L273 TraceCheckUtils]: 11: Hoare triple {35#false} assume true; {35#false} is VALID [2018-11-23 12:27:12,734 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {35#false} {57#(< 1 ~N~0)} #64#return; {35#false} is VALID [2018-11-23 12:27:12,734 INFO L273 TraceCheckUtils]: 13: Hoare triple {35#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {35#false} is VALID [2018-11-23 12:27:12,735 INFO L256 TraceCheckUtils]: 14: Hoare triple {35#false} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {35#false} is VALID [2018-11-23 12:27:12,735 INFO L273 TraceCheckUtils]: 15: Hoare triple {35#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {35#false} is VALID [2018-11-23 12:27:12,735 INFO L273 TraceCheckUtils]: 16: Hoare triple {35#false} assume !(~i~0 < ~N~0); {35#false} is VALID [2018-11-23 12:27:12,736 INFO L273 TraceCheckUtils]: 17: Hoare triple {35#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {35#false} is VALID [2018-11-23 12:27:12,736 INFO L273 TraceCheckUtils]: 18: Hoare triple {35#false} assume true; {35#false} is VALID [2018-11-23 12:27:12,736 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {35#false} {35#false} #66#return; {35#false} is VALID [2018-11-23 12:27:12,737 INFO L273 TraceCheckUtils]: 20: Hoare triple {35#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {35#false} is VALID [2018-11-23 12:27:12,737 INFO L273 TraceCheckUtils]: 21: Hoare triple {35#false} assume !(~i~1 < ~N~0 - 1); {35#false} is VALID [2018-11-23 12:27:12,738 INFO L273 TraceCheckUtils]: 22: Hoare triple {35#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {35#false} is VALID [2018-11-23 12:27:12,738 INFO L256 TraceCheckUtils]: 23: Hoare triple {35#false} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {35#false} is VALID [2018-11-23 12:27:12,738 INFO L273 TraceCheckUtils]: 24: Hoare triple {35#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {35#false} is VALID [2018-11-23 12:27:12,739 INFO L273 TraceCheckUtils]: 25: Hoare triple {35#false} assume !(~i~0 < ~N~0); {35#false} is VALID [2018-11-23 12:27:12,739 INFO L273 TraceCheckUtils]: 26: Hoare triple {35#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {35#false} is VALID [2018-11-23 12:27:12,739 INFO L273 TraceCheckUtils]: 27: Hoare triple {35#false} assume true; {35#false} is VALID [2018-11-23 12:27:12,740 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {35#false} {35#false} #68#return; {35#false} is VALID [2018-11-23 12:27:12,740 INFO L273 TraceCheckUtils]: 29: Hoare triple {35#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {35#false} is VALID [2018-11-23 12:27:12,740 INFO L273 TraceCheckUtils]: 30: Hoare triple {35#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {35#false} is VALID [2018-11-23 12:27:12,741 INFO L273 TraceCheckUtils]: 31: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 12:27:12,748 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 12:27:12,771 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:27:12,771 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:27:12,775 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:27:12,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:27:12,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:27:12,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:12,932 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:27:12,940 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:27:12,940 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:27:12,943 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 4 states. [2018-11-23 12:27:13,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:13,659 INFO L93 Difference]: Finished difference Result 61 states and 77 transitions. [2018-11-23 12:27:13,660 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:27:13,660 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:27:13,660 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:27:13,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:27:13,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-23 12:27:13,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:27:13,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2018-11-23 12:27:13,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 77 transitions. [2018-11-23 12:27:14,014 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:14,026 INFO L225 Difference]: With dead ends: 61 [2018-11-23 12:27:14,026 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 12:27:14,030 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:27:14,045 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 12:27:14,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2018-11-23 12:27:14,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:27:14,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2018-11-23 12:27:14,085 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2018-11-23 12:27:14,085 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2018-11-23 12:27:14,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:14,091 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 12:27:14,091 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 12:27:14,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:14,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:14,092 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2018-11-23 12:27:14,093 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2018-11-23 12:27:14,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:14,097 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2018-11-23 12:27:14,098 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2018-11-23 12:27:14,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:14,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:14,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:27:14,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:27:14,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:27:14,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 29 transitions. [2018-11-23 12:27:14,104 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 29 transitions. Word has length 32 [2018-11-23 12:27:14,104 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:27:14,105 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 29 transitions. [2018-11-23 12:27:14,105 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:27:14,105 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2018-11-23 12:27:14,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:27:14,107 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:27:14,107 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:27:14,107 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:27:14,108 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:27:14,108 INFO L82 PathProgramCache]: Analyzing trace with hash 793622072, now seen corresponding path program 1 times [2018-11-23 12:27:14,108 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:27:14,108 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:27:14,109 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:14,110 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:14,110 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:14,127 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:27:14,127 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:27:14,127 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:27:14,146 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:14,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:14,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:14,228 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:27:14,428 INFO L256 TraceCheckUtils]: 0: Hoare triple {301#true} call ULTIMATE.init(); {301#true} is VALID [2018-11-23 12:27:14,429 INFO L273 TraceCheckUtils]: 1: Hoare triple {301#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {301#true} is VALID [2018-11-23 12:27:14,429 INFO L273 TraceCheckUtils]: 2: Hoare triple {301#true} assume true; {301#true} is VALID [2018-11-23 12:27:14,430 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {301#true} {301#true} #60#return; {301#true} is VALID [2018-11-23 12:27:14,431 INFO L256 TraceCheckUtils]: 4: Hoare triple {301#true} call #t~ret11 := main(); {301#true} is VALID [2018-11-23 12:27:14,431 INFO L273 TraceCheckUtils]: 5: Hoare triple {301#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {301#true} is VALID [2018-11-23 12:27:14,432 INFO L273 TraceCheckUtils]: 6: Hoare triple {301#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {324#(< 1 ~N~0)} is VALID [2018-11-23 12:27:14,432 INFO L256 TraceCheckUtils]: 7: Hoare triple {324#(< 1 ~N~0)} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {324#(< 1 ~N~0)} is VALID [2018-11-23 12:27:14,433 INFO L273 TraceCheckUtils]: 8: Hoare triple {324#(< 1 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {331#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} is VALID [2018-11-23 12:27:14,435 INFO L273 TraceCheckUtils]: 9: Hoare triple {331#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {331#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} is VALID [2018-11-23 12:27:14,440 INFO L273 TraceCheckUtils]: 10: Hoare triple {331#(and (<= mapavg_~i~0 0) (< 1 ~N~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {338#(and (<= mapavg_~i~0 1) (< 1 ~N~0))} is VALID [2018-11-23 12:27:14,440 INFO L273 TraceCheckUtils]: 11: Hoare triple {338#(and (<= mapavg_~i~0 1) (< 1 ~N~0))} assume !(~i~0 < ~N~0); {302#false} is VALID [2018-11-23 12:27:14,441 INFO L273 TraceCheckUtils]: 12: Hoare triple {302#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {302#false} is VALID [2018-11-23 12:27:14,441 INFO L273 TraceCheckUtils]: 13: Hoare triple {302#false} assume true; {302#false} is VALID [2018-11-23 12:27:14,441 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {302#false} {324#(< 1 ~N~0)} #64#return; {302#false} is VALID [2018-11-23 12:27:14,441 INFO L273 TraceCheckUtils]: 15: Hoare triple {302#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {302#false} is VALID [2018-11-23 12:27:14,442 INFO L256 TraceCheckUtils]: 16: Hoare triple {302#false} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {302#false} is VALID [2018-11-23 12:27:14,442 INFO L273 TraceCheckUtils]: 17: Hoare triple {302#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {302#false} is VALID [2018-11-23 12:27:14,442 INFO L273 TraceCheckUtils]: 18: Hoare triple {302#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {302#false} is VALID [2018-11-23 12:27:14,443 INFO L273 TraceCheckUtils]: 19: Hoare triple {302#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {302#false} is VALID [2018-11-23 12:27:14,443 INFO L273 TraceCheckUtils]: 20: Hoare triple {302#false} assume !(~i~0 < ~N~0); {302#false} is VALID [2018-11-23 12:27:14,444 INFO L273 TraceCheckUtils]: 21: Hoare triple {302#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {302#false} is VALID [2018-11-23 12:27:14,447 INFO L273 TraceCheckUtils]: 22: Hoare triple {302#false} assume true; {302#false} is VALID [2018-11-23 12:27:14,447 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {302#false} {302#false} #66#return; {302#false} is VALID [2018-11-23 12:27:14,448 INFO L273 TraceCheckUtils]: 24: Hoare triple {302#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {302#false} is VALID [2018-11-23 12:27:14,448 INFO L273 TraceCheckUtils]: 25: Hoare triple {302#false} assume !(~i~1 < ~N~0 - 1); {302#false} is VALID [2018-11-23 12:27:14,448 INFO L273 TraceCheckUtils]: 26: Hoare triple {302#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {302#false} is VALID [2018-11-23 12:27:14,448 INFO L256 TraceCheckUtils]: 27: Hoare triple {302#false} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {302#false} is VALID [2018-11-23 12:27:14,449 INFO L273 TraceCheckUtils]: 28: Hoare triple {302#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {302#false} is VALID [2018-11-23 12:27:14,449 INFO L273 TraceCheckUtils]: 29: Hoare triple {302#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {302#false} is VALID [2018-11-23 12:27:14,449 INFO L273 TraceCheckUtils]: 30: Hoare triple {302#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {302#false} is VALID [2018-11-23 12:27:14,449 INFO L273 TraceCheckUtils]: 31: Hoare triple {302#false} assume !(~i~0 < ~N~0); {302#false} is VALID [2018-11-23 12:27:14,450 INFO L273 TraceCheckUtils]: 32: Hoare triple {302#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {302#false} is VALID [2018-11-23 12:27:14,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {302#false} assume true; {302#false} is VALID [2018-11-23 12:27:14,450 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {302#false} {302#false} #68#return; {302#false} is VALID [2018-11-23 12:27:14,451 INFO L273 TraceCheckUtils]: 35: Hoare triple {302#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {302#false} is VALID [2018-11-23 12:27:14,451 INFO L273 TraceCheckUtils]: 36: Hoare triple {302#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {302#false} is VALID [2018-11-23 12:27:14,451 INFO L273 TraceCheckUtils]: 37: Hoare triple {302#false} assume !false; {302#false} is VALID [2018-11-23 12:27:14,454 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 12 proven. 1 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-23 12:27:14,474 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:27:14,475 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5] total 5 [2018-11-23 12:27:14,476 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2018-11-23 12:27:14,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:27:14,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:27:14,558 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:14,559 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:27:14,559 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:27:14,559 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:27:14,560 INFO L87 Difference]: Start difference. First operand 26 states and 29 transitions. Second operand 5 states. [2018-11-23 12:27:15,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,010 INFO L93 Difference]: Finished difference Result 47 states and 56 transitions. [2018-11-23 12:27:15,010 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:27:15,010 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 38 [2018-11-23 12:27:15,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:27:15,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:27:15,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-11-23 12:27:15,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:27:15,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-11-23 12:27:15,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2018-11-23 12:27:15,140 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:15,143 INFO L225 Difference]: With dead ends: 47 [2018-11-23 12:27:15,143 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:27:15,144 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:27:15,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:27:15,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:27:15,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:27:15,161 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:27:15,161 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:27:15,162 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:27:15,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,165 INFO L93 Difference]: Finished difference Result 29 states and 32 transitions. [2018-11-23 12:27:15,165 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:27:15,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:15,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:15,166 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:27:15,167 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:27:15,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,169 INFO L93 Difference]: Finished difference Result 29 states and 32 transitions. [2018-11-23 12:27:15,170 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:27:15,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:15,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:15,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:27:15,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:27:15,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:27:15,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2018-11-23 12:27:15,174 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 38 [2018-11-23 12:27:15,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:27:15,174 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2018-11-23 12:27:15,174 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:27:15,174 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2018-11-23 12:27:15,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:27:15,176 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:27:15,176 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:27:15,177 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:27:15,177 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:27:15,177 INFO L82 PathProgramCache]: Analyzing trace with hash 1803239830, now seen corresponding path program 2 times [2018-11-23 12:27:15,177 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:27:15,177 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:27:15,178 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:15,179 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:15,179 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:15,197 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:27:15,197 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:27:15,197 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:27:15,215 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:27:15,251 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:27:15,251 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:27:15,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:15,269 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:27:15,383 INFO L256 TraceCheckUtils]: 0: Hoare triple {582#true} call ULTIMATE.init(); {582#true} is VALID [2018-11-23 12:27:15,384 INFO L273 TraceCheckUtils]: 1: Hoare triple {582#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {582#true} is VALID [2018-11-23 12:27:15,384 INFO L273 TraceCheckUtils]: 2: Hoare triple {582#true} assume true; {582#true} is VALID [2018-11-23 12:27:15,384 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {582#true} {582#true} #60#return; {582#true} is VALID [2018-11-23 12:27:15,385 INFO L256 TraceCheckUtils]: 4: Hoare triple {582#true} call #t~ret11 := main(); {582#true} is VALID [2018-11-23 12:27:15,385 INFO L273 TraceCheckUtils]: 5: Hoare triple {582#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {582#true} is VALID [2018-11-23 12:27:15,392 INFO L273 TraceCheckUtils]: 6: Hoare triple {582#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,393 INFO L256 TraceCheckUtils]: 7: Hoare triple {605#(< 1 ~N~0)} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,395 INFO L273 TraceCheckUtils]: 8: Hoare triple {605#(< 1 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,395 INFO L273 TraceCheckUtils]: 9: Hoare triple {605#(< 1 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,397 INFO L273 TraceCheckUtils]: 10: Hoare triple {605#(< 1 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,397 INFO L273 TraceCheckUtils]: 11: Hoare triple {605#(< 1 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,400 INFO L273 TraceCheckUtils]: 12: Hoare triple {605#(< 1 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,400 INFO L273 TraceCheckUtils]: 13: Hoare triple {605#(< 1 ~N~0)} assume !(~i~0 < ~N~0); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,401 INFO L273 TraceCheckUtils]: 14: Hoare triple {605#(< 1 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,401 INFO L273 TraceCheckUtils]: 15: Hoare triple {605#(< 1 ~N~0)} assume true; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,406 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {605#(< 1 ~N~0)} {605#(< 1 ~N~0)} #64#return; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,406 INFO L273 TraceCheckUtils]: 17: Hoare triple {605#(< 1 ~N~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,407 INFO L256 TraceCheckUtils]: 18: Hoare triple {605#(< 1 ~N~0)} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,408 INFO L273 TraceCheckUtils]: 19: Hoare triple {605#(< 1 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,408 INFO L273 TraceCheckUtils]: 20: Hoare triple {605#(< 1 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,409 INFO L273 TraceCheckUtils]: 21: Hoare triple {605#(< 1 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,409 INFO L273 TraceCheckUtils]: 22: Hoare triple {605#(< 1 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,410 INFO L273 TraceCheckUtils]: 23: Hoare triple {605#(< 1 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,410 INFO L273 TraceCheckUtils]: 24: Hoare triple {605#(< 1 ~N~0)} assume !(~i~0 < ~N~0); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,411 INFO L273 TraceCheckUtils]: 25: Hoare triple {605#(< 1 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,411 INFO L273 TraceCheckUtils]: 26: Hoare triple {605#(< 1 ~N~0)} assume true; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,413 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {605#(< 1 ~N~0)} {605#(< 1 ~N~0)} #66#return; {605#(< 1 ~N~0)} is VALID [2018-11-23 12:27:15,414 INFO L273 TraceCheckUtils]: 28: Hoare triple {605#(< 1 ~N~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {672#(and (<= main_~i~1 0) (< 1 ~N~0))} is VALID [2018-11-23 12:27:15,415 INFO L273 TraceCheckUtils]: 29: Hoare triple {672#(and (<= main_~i~1 0) (< 1 ~N~0))} assume !(~i~1 < ~N~0 - 1); {583#false} is VALID [2018-11-23 12:27:15,415 INFO L273 TraceCheckUtils]: 30: Hoare triple {583#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {583#false} is VALID [2018-11-23 12:27:15,416 INFO L256 TraceCheckUtils]: 31: Hoare triple {583#false} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {583#false} is VALID [2018-11-23 12:27:15,416 INFO L273 TraceCheckUtils]: 32: Hoare triple {583#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {583#false} is VALID [2018-11-23 12:27:15,416 INFO L273 TraceCheckUtils]: 33: Hoare triple {583#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {583#false} is VALID [2018-11-23 12:27:15,417 INFO L273 TraceCheckUtils]: 34: Hoare triple {583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {583#false} is VALID [2018-11-23 12:27:15,417 INFO L273 TraceCheckUtils]: 35: Hoare triple {583#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {583#false} is VALID [2018-11-23 12:27:15,418 INFO L273 TraceCheckUtils]: 36: Hoare triple {583#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {583#false} is VALID [2018-11-23 12:27:15,418 INFO L273 TraceCheckUtils]: 37: Hoare triple {583#false} assume !(~i~0 < ~N~0); {583#false} is VALID [2018-11-23 12:27:15,419 INFO L273 TraceCheckUtils]: 38: Hoare triple {583#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {583#false} is VALID [2018-11-23 12:27:15,419 INFO L273 TraceCheckUtils]: 39: Hoare triple {583#false} assume true; {583#false} is VALID [2018-11-23 12:27:15,420 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {583#false} {583#false} #68#return; {583#false} is VALID [2018-11-23 12:27:15,420 INFO L273 TraceCheckUtils]: 41: Hoare triple {583#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {583#false} is VALID [2018-11-23 12:27:15,420 INFO L273 TraceCheckUtils]: 42: Hoare triple {583#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {583#false} is VALID [2018-11-23 12:27:15,420 INFO L273 TraceCheckUtils]: 43: Hoare triple {583#false} assume !false; {583#false} is VALID [2018-11-23 12:27:15,425 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 34 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2018-11-23 12:27:15,449 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:27:15,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:27:15,449 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 44 [2018-11-23 12:27:15,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:27:15,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:27:15,504 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:15,504 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:27:15,504 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:27:15,504 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:27:15,505 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand 4 states. [2018-11-23 12:27:15,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,691 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2018-11-23 12:27:15,692 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:27:15,692 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 44 [2018-11-23 12:27:15,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:27:15,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:27:15,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-23 12:27:15,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:27:15,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2018-11-23 12:27:15,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2018-11-23 12:27:15,755 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:27:15,759 INFO L225 Difference]: With dead ends: 45 [2018-11-23 12:27:15,759 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:27:15,759 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:27:15,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:27:15,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 12:27:15,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:27:15,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 12:27:15,783 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 12:27:15,783 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 12:27:15,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,786 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2018-11-23 12:27:15,786 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-23 12:27:15,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:15,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:15,787 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 12:27:15,787 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 12:27:15,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:27:15,790 INFO L93 Difference]: Finished difference Result 30 states and 33 transitions. [2018-11-23 12:27:15,790 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 33 transitions. [2018-11-23 12:27:15,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:27:15,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:27:15,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:27:15,792 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:27:15,792 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:27:15,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 32 transitions. [2018-11-23 12:27:15,794 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 32 transitions. Word has length 44 [2018-11-23 12:27:15,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:27:15,794 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 32 transitions. [2018-11-23 12:27:15,795 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:27:15,795 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:27:15,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 12:27:15,796 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:27:15,796 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 3, 3, 3, 3, 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 12:27:15,797 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:27:15,797 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:27:15,797 INFO L82 PathProgramCache]: Analyzing trace with hash -1725825260, now seen corresponding path program 1 times [2018-11-23 12:27:15,797 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:27:15,797 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:27:15,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:15,799 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:27:15,799 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:27:15,822 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:27:15,823 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:27:15,823 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:27:15,843 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:27:15,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:15,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:27:15,932 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:27:16,848 WARN L180 SmtUtils]: Spent 354.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 47 [2018-11-23 12:27:17,341 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 115 treesize of output 92 [2018-11-23 12:27:17,441 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:17,467 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 83 treesize of output 81 [2018-11-23 12:27:17,491 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:17,502 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 62 [2018-11-23 12:27:17,518 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:17,551 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:17,579 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:21,378 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 92 treesize of output 73 [2018-11-23 12:27:21,396 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:21,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 64 [2018-11-23 12:27:21,426 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:21,431 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 49 [2018-11-23 12:27:21,438 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:21,459 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:21,501 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:23,346 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 75 [2018-11-23 12:27:23,397 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:23,406 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 66 [2018-11-23 12:27:23,422 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:23,432 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 51 [2018-11-23 12:27:23,437 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:23,453 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:23,480 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:23,921 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:23,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 96 treesize of output 95 [2018-11-23 12:27:23,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:23,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:23,988 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 86 treesize of output 104 [2018-11-23 12:27:24,242 WARN L180 SmtUtils]: Spent 204.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 50 [2018-11-23 12:27:24,312 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:24,323 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 64 [2018-11-23 12:27:24,417 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:24,492 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:24,494 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:24,497 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 57 [2018-11-23 12:27:24,504 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:24,556 INFO L267 ElimStorePlain]: Start of recursive call 12: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:24,582 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:25,018 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 117 treesize of output 94 [2018-11-23 12:27:25,030 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 83 [2018-11-23 12:27:25,063 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,070 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 77 treesize of output 64 [2018-11-23 12:27:25,078 INFO L267 ElimStorePlain]: Start of recursive call 17: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:25,108 INFO L267 ElimStorePlain]: Start of recursive call 16: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:25,137 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:25,464 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,466 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 93 [2018-11-23 12:27:25,527 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,534 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,563 INFO L478 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 84 treesize of output 102 [2018-11-23 12:27:25,960 WARN L180 SmtUtils]: Spent 264.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 49 [2018-11-23 12:27:25,970 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:25,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 59 [2018-11-23 12:27:25,976 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:26,038 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:26,040 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:26,042 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 65 treesize of output 62 [2018-11-23 12:27:26,086 INFO L267 ElimStorePlain]: Start of recursive call 21: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:26,129 INFO L267 ElimStorePlain]: Start of recursive call 19: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:26,145 INFO L267 ElimStorePlain]: Start of recursive call 18: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:27:26,323 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-2 vars, End of recursive call: and 6 xjuncts. [2018-11-23 12:27:26,323 INFO L202 ElimStorePlain]: Needed 21 recursive calls to eliminate 6 variables, input treesize:609, output treesize:453 [2018-11-23 12:27:29,146 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:27:29,146 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_4, v_prenex_3, v_prenex_2, v_prenex_1, |v_#memory_int_12|, v_prenex_5]. (let ((.cse6 (+ main_~ret~1 4294967296)) (.cse0 (<= ~N~0 2)) (.cse8 (< 1 ~N~0)) (.cse9 (= |main_~#x~0.offset| 0)) (.cse4 (+ |main_~#x~0.offset| 4))) (or (let ((.cse2 (select v_prenex_4 |main_~#x~0.base|))) (let ((.cse3 (select .cse2 .cse4)) (.cse5 (select .cse2 |main_~#x~0.offset|))) (let ((.cse7 (+ .cse3 .cse5 1))) (let ((.cse1 (mod (+ (div .cse7 ~N~0) 1) 4294967296))) (and .cse0 (< 2147483647 .cse1) (= (store v_prenex_4 |main_~#x~0.base| (store (store .cse2 |main_~#x~0.offset| .cse3) .cse4 .cse5)) |#memory_int|) (= .cse1 .cse6) (< .cse7 0) .cse8 .cse9 (not (= 0 (mod .cse7 ~N~0)))))))) (let ((.cse10 (select v_prenex_3 |main_~#x~0.base|))) (let ((.cse11 (select .cse10 .cse4)) (.cse12 (select .cse10 |main_~#x~0.offset|))) (let ((.cse14 (+ .cse11 .cse12 1))) (let ((.cse13 (mod (div .cse14 ~N~0) 4294967296))) (and .cse0 (= (store v_prenex_3 |main_~#x~0.base| (store (store .cse10 |main_~#x~0.offset| .cse11) .cse4 .cse12)) |#memory_int|) (< 2147483647 .cse13) (= 0 (mod .cse14 ~N~0)) .cse8 .cse9 (= .cse6 .cse13)))))) (let ((.cse15 (select v_prenex_2 |main_~#x~0.base|))) (let ((.cse16 (select .cse15 .cse4)) (.cse17 (select .cse15 |main_~#x~0.offset|))) (let ((.cse19 (+ .cse16 .cse17 1))) (let ((.cse18 (mod (div .cse19 ~N~0) 4294967296))) (and .cse0 (= (store v_prenex_2 |main_~#x~0.base| (store (store .cse15 |main_~#x~0.offset| .cse16) .cse4 .cse17)) |#memory_int|) .cse8 .cse9 (= .cse6 .cse18) (< 2147483647 .cse18) (<= 0 .cse19)))))) (let ((.cse21 (select v_prenex_1 |main_~#x~0.base|))) (let ((.cse22 (select .cse21 .cse4)) (.cse23 (select .cse21 |main_~#x~0.offset|))) (let ((.cse24 (+ .cse22 .cse23 1))) (let ((.cse20 (mod (+ (div .cse24 ~N~0) 1) 4294967296))) (and .cse0 (<= .cse20 2147483647) (= (store v_prenex_1 |main_~#x~0.base| (store (store .cse21 |main_~#x~0.offset| .cse22) .cse4 .cse23)) |#memory_int|) (< .cse24 0) .cse8 .cse9 (= .cse20 main_~ret~1) (not (= 0 (mod .cse24 ~N~0)))))))) (let ((.cse26 (select |v_#memory_int_12| |main_~#x~0.base|))) (let ((.cse27 (select .cse26 .cse4)) (.cse28 (select .cse26 |main_~#x~0.offset|))) (let ((.cse29 (+ .cse27 .cse28 1))) (let ((.cse25 (mod (div .cse29 ~N~0) 4294967296))) (and .cse0 (<= .cse25 2147483647) (= (store |v_#memory_int_12| |main_~#x~0.base| (store (store .cse26 |main_~#x~0.offset| .cse27) .cse4 .cse28)) |#memory_int|) (<= 0 .cse29) .cse8 (= main_~ret~1 .cse25) .cse9))))) (let ((.cse32 (select v_prenex_5 |main_~#x~0.base|))) (let ((.cse33 (select .cse32 .cse4)) (.cse34 (select .cse32 |main_~#x~0.offset|))) (let ((.cse31 (+ .cse33 .cse34 1))) (let ((.cse30 (mod (div .cse31 ~N~0) 4294967296))) (and .cse0 (<= .cse30 2147483647) (= 0 (mod .cse31 ~N~0)) (= main_~ret~1 .cse30) (= (store v_prenex_5 |main_~#x~0.base| (store (store .cse32 |main_~#x~0.offset| .cse33) .cse4 .cse34)) |#memory_int|) .cse8 .cse9))))))) [2018-11-23 12:27:29,147 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse14 (let ((.cse16 (select |#memory_int| |main_~#x~0.base|))) (+ (select .cse16 |main_~#x~0.offset|) (select .cse16 (+ |main_~#x~0.offset| 4)) 1)))) (let ((.cse15 (div .cse14 ~N~0))) (let ((.cse10 (= (mod .cse14 ~N~0) 0)) (.cse13 (mod .cse15 4294967296)) (.cse6 (+ main_~ret~1 4294967296))) (let ((.cse11 (= .cse13 .cse6)) (.cse9 (<= 0 .cse14)) (.cse12 (< 2147483647 .cse13)) (.cse4 (mod (+ .cse15 1) 4294967296)) (.cse1 (< .cse14 0)) (.cse5 (not .cse10)) (.cse0 (<= ~N~0 2)) (.cse7 (= .cse13 main_~ret~1)) (.cse8 (<= .cse13 2147483647)) (.cse2 (< 1 ~N~0)) (.cse3 (= |main_~#x~0.offset| 0))) (or (and .cse0 .cse1 .cse2 .cse3 (< 2147483647 .cse4) .cse5 (= .cse6 .cse4)) (and .cse0 .cse7 .cse8 .cse2 .cse3 .cse9) (and .cse0 .cse10 .cse11 .cse2 .cse3 .cse12) (and .cse0 .cse11 .cse2 .cse3 .cse9 .cse12) (and .cse0 (= .cse4 main_~ret~1) (<= .cse4 2147483647) .cse1 .cse2 .cse3 .cse5) (and .cse0 .cse10 .cse7 .cse8 .cse2 .cse3)))))) [2018-11-23 12:27:29,535 WARN L180 SmtUtils]: Spent 285.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 12:27:31,027 WARN L180 SmtUtils]: Spent 514.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 61 [2018-11-23 12:27:31,465 WARN L180 SmtUtils]: Spent 319.00 ms on a formula simplification that was a NOOP. DAG size: 65 [2018-11-23 12:27:31,711 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 12:27:31,712 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:50,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 114 treesize of output 91 [2018-11-23 12:27:50,629 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:27:50,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 84 [2018-11-23 12:27:50,640 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:27:50,672 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:05,952 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:05,962 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 128 treesize of output 111 [2018-11-23 12:28:05,992 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 104 [2018-11-23 12:28:05,997 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:06,048 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:09,820 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:09,823 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 112 treesize of output 99 [2018-11-23 12:28:09,839 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 90 treesize of output 92 [2018-11-23 12:28:09,841 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:09,873 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:16,033 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:16,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 116 treesize of output 103 [2018-11-23 12:28:16,048 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 96 [2018-11-23 12:28:16,051 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:16,143 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:24,309 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 139 treesize of output 112 [2018-11-23 12:28:24,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:24,337 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 105 [2018-11-23 12:28:24,341 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:24,380 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:26,332 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 135 treesize of output 108 [2018-11-23 12:28:26,359 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:26,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 101 [2018-11-23 12:28:26,374 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:26,411 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:26,796 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 110 treesize of output 87 [2018-11-23 12:28:26,804 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:26,811 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 80 [2018-11-23 12:28:26,812 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:26,841 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:27,926 INFO L267 ElimStorePlain]: Start of recursive call 1: 22 dim-2 vars, End of recursive call: and 6 xjuncts. [2018-11-23 12:28:27,926 INFO L202 ElimStorePlain]: Needed 16 recursive calls to eliminate 22 variables, input treesize:3505, output treesize:557 [2018-11-23 12:28:30,841 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:28:30,842 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_26, v_prenex_27, v_prenex_35, v_prenex_31, v_prenex_28, v_prenex_36, v_prenex_24, v_prenex_37, v_prenex_32, v_prenex_20, v_prenex_33, v_prenex_30, v_prenex_18, |v_#memory_int_13|, v_prenex_23, v_prenex_19, v_prenex_25, v_prenex_38, v_prenex_21, v_prenex_22, v_prenex_29, v_prenex_34]. (let ((.cse138 (select v_prenex_36 |main_~#x~0.base|)) (.cse134 (select |v_#memory_int_13| |main_~#x~0.base|)) (.cse10 (+ |main_~#x~0.offset| 4))) (let ((.cse135 (select .cse134 .cse10)) (.cse137 (select .cse134 |main_~#x~0.offset|)) (.cse139 (select .cse138 .cse10)) (.cse140 (select .cse138 |main_~#x~0.offset|))) (let ((.cse141 (+ .cse139 .cse140 1)) (.cse136 (+ .cse135 .cse137 1))) (let ((.cse20 (+ main_~ret~1 4294967296)) (.cse86 (mod (div .cse136 ~N~0) 4294967296)) (.cse41 (mod (div .cse141 ~N~0) 4294967296))) (let ((.cse37 (= (mod .cse141 ~N~0) 0)) (.cse38 (= main_~temp~0 .cse140)) (.cse39 (<= .cse41 2147483647)) (.cse40 (= main_~ret~1 .cse41)) (.cse42 (= (store v_prenex_36 |main_~#x~0.base| (store .cse138 |main_~#x~0.offset| .cse139)) |#memory_int|)) (.cse84 (= main_~temp~0 .cse137)) (.cse85 (= (mod .cse136 ~N~0) 0)) (.cse87 (< 2147483647 .cse86)) (.cse88 (= (store |v_#memory_int_13| |main_~#x~0.base| (store .cse134 |main_~#x~0.offset| .cse135)) |#memory_int|)) (.cse89 (= .cse20 .cse86)) (.cse26 (+ main_~ret2~0 4294967296)) (.cse0 (<= ~N~0 2)) (.cse7 (< 1 ~N~0)) (.cse8 (= |main_~#x~0.offset| 0))) (or (let ((.cse1 (select v_prenex_26 |main_~#x~0.base|))) (let ((.cse2 (select .cse1 .cse10)) (.cse6 (select .cse1 |main_~#x~0.offset|))) (let ((.cse3 (+ .cse2 .cse6 1))) (let ((.cse9 (div .cse3 ~N~0))) (let ((.cse4 (mod .cse9 4294967296)) (.cse5 (mod (+ .cse9 1) 4294967296))) (and .cse0 (= (store v_prenex_26 |main_~#x~0.base| (store .cse1 |main_~#x~0.offset| .cse2)) |#memory_int|) (<= 0 .cse3) (<= .cse4 2147483647) (<= .cse5 2147483647) (not (= (mod .cse3 ~N~0) 0)) (= main_~ret2~0 .cse4) (= main_~temp~0 .cse6) (< .cse3 0) .cse7 .cse8 (= main_~ret~1 .cse5))))))) (let ((.cse12 (select v_prenex_27 |main_~#x~0.base|))) (let ((.cse13 (select .cse12 .cse10)) (.cse14 (select .cse12 |main_~#x~0.offset|))) (let ((.cse15 (+ .cse13 .cse14 1))) (let ((.cse11 (mod (+ (div .cse15 ~N~0) 1) 4294967296))) (and .cse0 (= .cse11 main_~ret2~0) (= (store v_prenex_27 |main_~#x~0.base| (store .cse12 |main_~#x~0.offset| .cse13)) |#memory_int|) (= main_~temp~0 .cse14) (not (= (mod .cse15 ~N~0) 0)) (<= .cse11 2147483647) (= main_~ret~1 .cse11) .cse7 .cse8 (< .cse15 0)))))) (let ((.cse18 (select v_prenex_35 |main_~#x~0.base|))) (let ((.cse19 (select .cse18 .cse10)) (.cse22 (select .cse18 |main_~#x~0.offset|))) (let ((.cse16 (+ .cse19 .cse22 1))) (let ((.cse23 (div .cse16 ~N~0))) (let ((.cse17 (mod .cse23 4294967296)) (.cse21 (mod (+ .cse23 1) 4294967296))) (and .cse0 (not (= (mod .cse16 ~N~0) 0)) (< 2147483647 .cse17) (= (store v_prenex_35 |main_~#x~0.base| (store .cse18 |main_~#x~0.offset| .cse19)) |#memory_int|) (= .cse20 .cse17) (<= 0 .cse16) (= .cse21 main_~ret2~0) (< .cse16 0) (= main_~temp~0 .cse22) (<= .cse21 2147483647) .cse7 .cse8)))))) (let ((.cse28 (select v_prenex_31 |main_~#x~0.base|))) (let ((.cse29 (select .cse28 .cse10)) (.cse27 (select .cse28 |main_~#x~0.offset|))) (let ((.cse24 (+ .cse29 .cse27 1))) (let ((.cse25 (mod (div .cse24 ~N~0) 4294967296))) (and .cse0 (<= 0 .cse24) (< 2147483647 .cse25) (= .cse26 .cse25) (= main_~ret~1 .cse25) (<= .cse25 2147483647) (= main_~temp~0 .cse27) .cse7 (= (store v_prenex_31 |main_~#x~0.base| (store .cse28 |main_~#x~0.offset| .cse29)) |#memory_int|) .cse8))))) (let ((.cse34 (select v_prenex_28 |main_~#x~0.base|))) (let ((.cse35 (select .cse34 .cse10)) (.cse33 (select .cse34 |main_~#x~0.offset|))) (let ((.cse31 (+ .cse35 .cse33 1))) (let ((.cse36 (div .cse31 ~N~0))) (let ((.cse30 (mod .cse36 4294967296)) (.cse32 (mod (+ .cse36 1) 4294967296))) (and .cse0 (< 2147483647 .cse30) (<= 0 .cse31) (= main_~ret~1 .cse32) (= .cse26 .cse30) .cse7 .cse8 (= main_~temp~0 .cse33) (< .cse31 0) (not (= (mod .cse31 ~N~0) 0)) (= (store v_prenex_28 |main_~#x~0.base| (store .cse34 |main_~#x~0.offset| .cse35)) |#memory_int|) (<= .cse32 2147483647))))))) (and .cse0 .cse37 .cse38 .cse39 .cse40 .cse7 .cse8 (= main_~ret2~0 .cse41) .cse42) (let ((.cse46 (select v_prenex_24 |main_~#x~0.base|))) (let ((.cse47 (select .cse46 .cse10)) (.cse45 (select .cse46 |main_~#x~0.offset|))) (let ((.cse44 (+ .cse47 .cse45 1))) (let ((.cse49 (div .cse44 ~N~0))) (let ((.cse43 (mod (+ .cse49 1) 4294967296)) (.cse48 (mod .cse49 4294967296))) (and .cse0 (= .cse26 .cse43) (< 2147483647 .cse43) (not (= (mod .cse44 ~N~0) 0)) (<= 0 .cse44) (= main_~temp~0 .cse45) (= (store v_prenex_24 |main_~#x~0.base| (store .cse46 |main_~#x~0.offset| .cse47)) |#memory_int|) (< 2147483647 .cse48) (< .cse44 0) .cse7 .cse8 (= .cse20 .cse48))))))) (let ((.cse51 (select v_prenex_37 |main_~#x~0.base|))) (let ((.cse52 (select .cse51 .cse10)) (.cse53 (select .cse51 |main_~#x~0.offset|))) (let ((.cse54 (+ .cse52 .cse53 1))) (let ((.cse50 (mod (+ (div .cse54 ~N~0) 1) 4294967296))) (and .cse0 (<= .cse50 2147483647) (= (store v_prenex_37 |main_~#x~0.base| (store .cse51 |main_~#x~0.offset| .cse52)) |#memory_int|) (= main_~temp~0 .cse53) (< .cse54 0) (= .cse26 .cse50) .cse7 (< 2147483647 .cse50) .cse8 (not (= (mod .cse54 ~N~0) 0)) (= main_~ret~1 .cse50)))))) (let ((.cse59 (select v_prenex_32 |main_~#x~0.base|))) (let ((.cse60 (select .cse59 .cse10)) (.cse58 (select .cse59 |main_~#x~0.offset|))) (let ((.cse55 (+ .cse60 .cse58 1))) (let ((.cse61 (div .cse55 ~N~0))) (let ((.cse57 (mod (+ .cse61 1) 4294967296)) (.cse56 (mod .cse61 4294967296))) (and .cse0 (<= 0 .cse55) (not (= (mod .cse55 ~N~0) 0)) (<= .cse56 2147483647) (= .cse26 .cse57) (< 2147483647 .cse57) (= main_~temp~0 .cse58) .cse7 .cse8 (< .cse55 0) (= main_~ret~1 .cse56) (= (store v_prenex_32 |main_~#x~0.base| (store .cse59 |main_~#x~0.offset| .cse60)) |#memory_int|))))))) (and .cse0 .cse37 .cse38 (= .cse26 .cse41) .cse39 (< 2147483647 .cse41) .cse40 .cse7 .cse8 .cse42) (let ((.cse66 (select v_prenex_20 |main_~#x~0.base|))) (let ((.cse67 (select .cse66 .cse10)) (.cse63 (select .cse66 |main_~#x~0.offset|))) (let ((.cse62 (+ .cse67 .cse63 1))) (let ((.cse68 (div .cse62 ~N~0))) (let ((.cse65 (mod .cse68 4294967296)) (.cse64 (mod (+ .cse68 1) 4294967296))) (and .cse0 (< .cse62 0) (= main_~temp~0 .cse63) (not (= (mod .cse62 ~N~0) 0)) (< 2147483647 .cse64) (= main_~ret2~0 .cse65) (= (store v_prenex_20 |main_~#x~0.base| (store .cse66 |main_~#x~0.offset| .cse67)) |#memory_int|) (<= .cse65 2147483647) (<= 0 .cse62) .cse7 .cse8 (= .cse20 .cse64))))))) (let ((.cse71 (select v_prenex_33 |main_~#x~0.base|))) (let ((.cse72 (select .cse71 .cse10)) (.cse73 (select .cse71 |main_~#x~0.offset|))) (let ((.cse69 (+ .cse72 .cse73 1))) (let ((.cse70 (mod (div .cse69 ~N~0) 4294967296))) (and .cse0 (= (mod .cse69 ~N~0) 0) (<= .cse70 2147483647) .cse7 (<= 0 .cse69) .cse8 (< 2147483647 .cse70) (= main_~ret~1 .cse70) (= (store v_prenex_33 |main_~#x~0.base| (store .cse71 |main_~#x~0.offset| .cse72)) |#memory_int|) (= .cse26 .cse70) (= main_~temp~0 .cse73)))))) (let ((.cse75 (select v_prenex_30 |main_~#x~0.base|))) (let ((.cse76 (select .cse75 .cse10)) (.cse78 (select .cse75 |main_~#x~0.offset|))) (let ((.cse74 (+ .cse76 .cse78 1))) (let ((.cse77 (mod (div .cse74 ~N~0) 4294967296))) (and .cse0 (= (mod .cse74 ~N~0) 0) (= (store v_prenex_30 |main_~#x~0.base| (store .cse75 |main_~#x~0.offset| .cse76)) |#memory_int|) (= main_~ret~1 .cse77) (<= 0 .cse74) .cse7 .cse8 (= main_~temp~0 .cse78) (= main_~ret2~0 .cse77) (<= .cse77 2147483647)))))) (let ((.cse81 (select v_prenex_18 |main_~#x~0.base|))) (let ((.cse82 (select .cse81 .cse10)) (.cse83 (select .cse81 |main_~#x~0.offset|))) (let ((.cse80 (+ .cse82 .cse83 1))) (let ((.cse79 (mod (+ (div .cse80 ~N~0) 1) 4294967296))) (and .cse0 (= .cse20 .cse79) (not (= (mod .cse80 ~N~0) 0)) (= .cse26 .cse79) (< .cse80 0) (= (store v_prenex_18 |main_~#x~0.base| (store .cse81 |main_~#x~0.offset| .cse82)) |#memory_int|) .cse7 (= main_~temp~0 .cse83) .cse8 (< 2147483647 .cse79)))))) (and .cse0 .cse84 .cse85 (= main_~ret2~0 .cse86) .cse87 .cse88 (<= .cse86 2147483647) .cse89 .cse7 .cse8) (let ((.cse91 (select v_prenex_23 |main_~#x~0.base|))) (let ((.cse92 (select .cse91 .cse10)) (.cse93 (select .cse91 |main_~#x~0.offset|))) (let ((.cse94 (+ .cse92 .cse93 1))) (let ((.cse90 (mod (div .cse94 ~N~0) 4294967296))) (and .cse0 (= main_~ret2~0 .cse90) (= (store v_prenex_23 |main_~#x~0.base| (store .cse91 |main_~#x~0.offset| .cse92)) |#memory_int|) (= main_~temp~0 .cse93) (<= .cse90 2147483647) (<= 0 .cse94) .cse7 .cse8 (< 2147483647 .cse90) (= .cse20 .cse90)))))) (let ((.cse97 (select v_prenex_19 |main_~#x~0.base|))) (let ((.cse98 (select .cse97 .cse10)) (.cse96 (select .cse97 |main_~#x~0.offset|))) (let ((.cse99 (+ .cse98 .cse96 1))) (let ((.cse101 (div .cse99 ~N~0))) (let ((.cse95 (mod (+ .cse101 1) 4294967296)) (.cse100 (mod .cse101 4294967296))) (and .cse0 (< 2147483647 .cse95) (= main_~temp~0 .cse96) (= .cse20 .cse95) (= (store v_prenex_19 |main_~#x~0.base| (store .cse97 |main_~#x~0.offset| .cse98)) |#memory_int|) .cse7 (< .cse99 0) .cse8 (<= 0 .cse99) (< 2147483647 .cse100) (= .cse26 .cse100) (not (= (mod .cse99 ~N~0) 0)))))))) (let ((.cse104 (select v_prenex_25 |main_~#x~0.base|))) (let ((.cse105 (select .cse104 .cse10)) (.cse106 (select .cse104 |main_~#x~0.offset|))) (let ((.cse103 (+ .cse105 .cse106 1))) (let ((.cse102 (mod (div .cse103 ~N~0) 4294967296))) (and .cse0 (= main_~ret2~0 .cse102) (= (mod .cse103 ~N~0) 0) (= .cse20 .cse102) (= (store v_prenex_25 |main_~#x~0.base| (store .cse104 |main_~#x~0.offset| .cse105)) |#memory_int|) (<= .cse102 2147483647) (= main_~temp~0 .cse106) .cse7 (< 2147483647 .cse102) (<= 0 .cse103) .cse8))))) (let ((.cse109 (select v_prenex_38 |main_~#x~0.base|))) (let ((.cse110 (select .cse109 .cse10)) (.cse108 (select .cse109 |main_~#x~0.offset|))) (let ((.cse111 (+ .cse110 .cse108 1))) (let ((.cse107 (mod (div .cse111 ~N~0) 4294967296))) (and .cse0 (= main_~ret2~0 .cse107) (= main_~temp~0 .cse108) (= main_~ret~1 .cse107) (= (store v_prenex_38 |main_~#x~0.base| (store .cse109 |main_~#x~0.offset| .cse110)) |#memory_int|) (<= 0 .cse111) .cse7 .cse8 (<= .cse107 2147483647)))))) (let ((.cse113 (select v_prenex_21 |main_~#x~0.base|))) (let ((.cse114 (select .cse113 .cse10)) (.cse116 (select .cse113 |main_~#x~0.offset|))) (let ((.cse115 (+ .cse114 .cse116 1))) (let ((.cse112 (mod (div .cse115 ~N~0) 4294967296))) (and .cse0 (= .cse20 .cse112) (= (store v_prenex_21 |main_~#x~0.base| (store .cse113 |main_~#x~0.offset| .cse114)) |#memory_int|) (<= 0 .cse115) (< 2147483647 .cse112) .cse7 .cse8 (= main_~temp~0 .cse116) (= .cse26 .cse112)))))) (and .cse0 .cse84 .cse85 .cse87 .cse88 .cse89 .cse7 .cse8 (= .cse26 .cse86)) (let ((.cse119 (select v_prenex_22 |main_~#x~0.base|))) (let ((.cse120 (select .cse119 .cse10)) (.cse118 (select .cse119 |main_~#x~0.offset|))) (let ((.cse121 (+ .cse120 .cse118 1))) (let ((.cse117 (mod (div .cse121 ~N~0) 4294967296))) (and .cse0 (= .cse26 .cse117) (= .cse20 .cse117) (= main_~temp~0 .cse118) (= (store v_prenex_22 |main_~#x~0.base| (store .cse119 |main_~#x~0.offset| .cse120)) |#memory_int|) (= (mod .cse121 ~N~0) 0) .cse7 .cse8 (< 2147483647 .cse117) (<= 0 .cse121)))))) (let ((.cse126 (select v_prenex_29 |main_~#x~0.base|))) (let ((.cse127 (select .cse126 .cse10)) (.cse125 (select .cse126 |main_~#x~0.offset|))) (let ((.cse124 (+ .cse127 .cse125 1))) (let ((.cse128 (div .cse124 ~N~0))) (let ((.cse123 (mod (+ .cse128 1) 4294967296)) (.cse122 (mod .cse128 4294967296))) (and .cse0 (<= .cse122 2147483647) (<= .cse123 2147483647) (= .cse123 main_~ret2~0) (<= 0 .cse124) (= main_~temp~0 .cse125) (= (store v_prenex_29 |main_~#x~0.base| (store .cse126 |main_~#x~0.offset| .cse127)) |#memory_int|) .cse7 (= main_~ret~1 .cse122) (< .cse124 0) .cse8 (not (= (mod .cse124 ~N~0) 0)))))))) (let ((.cse131 (select v_prenex_34 |main_~#x~0.base|))) (let ((.cse132 (select .cse131 .cse10)) (.cse133 (select .cse131 |main_~#x~0.offset|))) (let ((.cse130 (+ .cse132 .cse133 1))) (let ((.cse129 (mod (+ (div .cse130 ~N~0) 1) 4294967296))) (and .cse0 (= .cse20 .cse129) (< .cse130 0) (= (store v_prenex_34 |main_~#x~0.base| (store .cse131 |main_~#x~0.offset| .cse132)) |#memory_int|) (<= .cse129 2147483647) (not (= (mod .cse130 ~N~0) 0)) (< 2147483647 .cse129) .cse7 (= .cse129 main_~ret2~0) .cse8 (= main_~temp~0 .cse133)))))))))))) [2018-11-23 12:28:30,843 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse19 (select |#memory_int| |main_~#x~0.base|))) (let ((.cse18 (select .cse19 (+ |main_~#x~0.offset| 4)))) (let ((.cse21 (+ main_~temp~0 .cse18 1))) (let ((.cse20 (div .cse21 ~N~0))) (let ((.cse15 (+ main_~ret2~0 4294967296)) (.cse14 (+ main_~ret~1 4294967296)) (.cse17 (mod .cse20 4294967296)) (.cse16 (= (mod .cse21 ~N~0) 0))) (let ((.cse6 (<= 0 .cse21)) (.cse12 (not .cse16)) (.cse13 (< .cse21 0)) (.cse11 (mod (+ .cse20 1) 4294967296)) (.cse1 (= main_~ret~1 .cse17)) (.cse2 (<= .cse17 2147483647)) (.cse7 (= main_~ret2~0 .cse17)) (.cse0 (<= ~N~0 2)) (.cse8 (= .cse14 .cse17)) (.cse3 (= .cse18 (select .cse19 |main_~#x~0.offset|))) (.cse4 (< 1 ~N~0)) (.cse5 (= |main_~#x~0.offset| 0)) (.cse9 (< 2147483647 .cse17)) (.cse10 (= .cse15 .cse17))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (and .cse0 .cse8 .cse3 .cse4 .cse5 .cse6 .cse9 .cse10) (and .cse0 (< 2147483647 .cse11) .cse12 .cse13 (= .cse11 .cse14) (= .cse15 .cse11) .cse3 .cse4 .cse5) (and .cse0 .cse12 (= .cse11 main_~ret~1) .cse13 (<= .cse11 2147483647) .cse3 .cse4 .cse5 (= .cse11 main_~ret2~0)) (and .cse0 .cse1 .cse2 .cse16 .cse3 .cse4 .cse5 .cse7) (and .cse0 .cse8 .cse16 .cse3 .cse4 .cse5 .cse9 .cse10)))))))) [2018-11-23 12:28:31,168 WARN L180 SmtUtils]: Spent 247.00 ms on a formula simplification that was a NOOP. DAG size: 52 [2018-11-23 12:28:31,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 88 [2018-11-23 12:28:31,573 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:31,587 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:31,618 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 76 [2018-11-23 12:28:31,626 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:31,653 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:33,783 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:33,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 105 treesize of output 101 [2018-11-23 12:28:33,798 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:33,799 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:33,802 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 92 treesize of output 82 [2018-11-23 12:28:33,808 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:33,847 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:34,842 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 120 treesize of output 103 [2018-11-23 12:28:34,851 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:34,852 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:34,858 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 87 [2018-11-23 12:28:34,873 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:34,907 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:35,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 124 treesize of output 107 [2018-11-23 12:28:35,785 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:35,786 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:35,793 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 98 treesize of output 91 [2018-11-23 12:28:35,803 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:35,857 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:36,947 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:36,949 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 97 [2018-11-23 12:28:36,968 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:36,970 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:36,973 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 78 [2018-11-23 12:28:36,979 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:37,011 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:38,423 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 99 treesize of output 84 [2018-11-23 12:28:38,432 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:38,432 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:28:38,438 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 72 [2018-11-23 12:28:38,459 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:38,486 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:28:38,877 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 6 dim-2 vars, End of recursive call: and 6 xjuncts. [2018-11-23 12:28:38,877 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 12 variables, input treesize:653, output treesize:685 [2018-11-23 12:28:41,009 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:28:41,010 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_47, v_prenex_48, v_prenex_45, v_prenex_46, v_prenex_40, v_prenex_39, |v_#memory_int_14|, main_~temp~0, v_prenex_42, v_prenex_41, v_prenex_44, v_prenex_43]. (let ((.cse13 (+ main_~ret~1 4294967296)) (.cse11 (+ main_~ret2~0 4294967296)) (.cse2 (<= ~N~0 2)) (.cse3 (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) (.cse6 (< 1 ~N~0)) (.cse7 (= |main_~#x~0.offset| 0)) (.cse8 (+ |main_~#x~0.offset| 4))) (or (let ((.cse0 (select v_prenex_47 |main_~#x~0.base|))) (let ((.cse1 (select .cse0 .cse8))) (let ((.cse5 (+ v_prenex_48 .cse1 1))) (let ((.cse4 (mod (+ (div .cse5 ~N~0) 1) 4294967296))) (and (= (select .cse0 |main_~#x~0.offset|) .cse1) .cse2 (= (store v_prenex_47 |main_~#x~0.base| (store .cse0 .cse3 v_prenex_48)) |#memory_int|) (= main_~ret~1 .cse4) (< .cse5 0) (= main_~ret2~0 .cse4) .cse6 .cse7 (not (= (mod .cse5 ~N~0) 0)) (<= .cse4 2147483647)))))) (let ((.cse9 (select v_prenex_45 |main_~#x~0.base|))) (let ((.cse14 (select .cse9 .cse8))) (let ((.cse10 (+ v_prenex_46 .cse14 1))) (let ((.cse12 (mod (+ (div .cse10 ~N~0) 1) 4294967296))) (and .cse2 (= (store v_prenex_45 |main_~#x~0.base| (store .cse9 .cse3 v_prenex_46)) |#memory_int|) (not (= (mod .cse10 ~N~0) 0)) (= .cse11 .cse12) (< 2147483647 .cse12) (< .cse10 0) .cse6 .cse7 (= .cse13 .cse12) (= (select .cse9 |main_~#x~0.offset|) .cse14)))))) (let ((.cse15 (select v_prenex_40 |main_~#x~0.base|))) (let ((.cse17 (select .cse15 .cse8))) (let ((.cse18 (+ v_prenex_39 .cse17 1))) (let ((.cse16 (mod (div .cse18 ~N~0) 4294967296))) (and .cse2 (= (store v_prenex_40 |main_~#x~0.base| (store .cse15 .cse3 v_prenex_39)) |#memory_int|) (< 2147483647 .cse16) (= .cse13 .cse16) (= .cse11 .cse16) .cse6 .cse7 (= (select .cse15 |main_~#x~0.offset|) .cse17) (= (mod .cse18 ~N~0) 0)))))) (let ((.cse19 (select |v_#memory_int_14| |main_~#x~0.base|))) (let ((.cse20 (select .cse19 .cse8))) (let ((.cse22 (+ main_~temp~0 .cse20 1))) (let ((.cse21 (mod (div .cse22 ~N~0) 4294967296))) (and (= (select .cse19 |main_~#x~0.offset|) .cse20) .cse2 (= main_~ret2~0 .cse21) (= (mod .cse22 ~N~0) 0) (= main_~ret~1 .cse21) (<= .cse21 2147483647) .cse6 .cse7 (= (store |v_#memory_int_14| |main_~#x~0.base| (store .cse19 .cse3 main_~temp~0)) |#memory_int|)))))) (let ((.cse23 (select v_prenex_42 |main_~#x~0.base|))) (let ((.cse24 (select .cse23 .cse8))) (let ((.cse26 (+ v_prenex_41 .cse24 1))) (let ((.cse25 (mod (div .cse26 ~N~0) 4294967296))) (and .cse2 (= (select .cse23 |main_~#x~0.offset|) .cse24) (< 2147483647 .cse25) (= .cse13 .cse25) .cse6 .cse7 (= (store v_prenex_42 |main_~#x~0.base| (store .cse23 .cse3 v_prenex_41)) |#memory_int|) (= .cse11 .cse25) (<= 0 .cse26)))))) (let ((.cse27 (select v_prenex_44 |main_~#x~0.base|))) (let ((.cse30 (select .cse27 .cse8))) (let ((.cse28 (+ v_prenex_43 .cse30 1))) (let ((.cse29 (mod (div .cse28 ~N~0) 4294967296))) (and .cse2 (= (store v_prenex_44 |main_~#x~0.base| (store .cse27 .cse3 v_prenex_43)) |#memory_int|) (<= 0 .cse28) (= main_~ret~1 .cse29) .cse6 (= (select .cse27 |main_~#x~0.offset|) .cse30) .cse7 (= main_~ret2~0 .cse29) (<= .cse29 2147483647)))))))) [2018-11-23 12:28:41,010 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse17 (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4)))) (let ((.cse15 (let ((.cse19 (select |#memory_int| |main_~#x~0.base|))) (+ (select .cse19 |main_~#x~0.offset|) (select .cse19 .cse17) 1)))) (let ((.cse18 (div .cse15 ~N~0))) (let ((.cse9 (+ main_~ret~1 4294967296)) (.cse8 (+ main_~ret2~0 4294967296)) (.cse16 (mod .cse18 4294967296)) (.cse5 (= 0 (mod .cse15 ~N~0)))) (let ((.cse7 (< .cse15 0)) (.cse10 (not .cse5)) (.cse6 (mod (+ .cse18 1) 4294967296)) (.cse11 (<= .cse16 2147483647)) (.cse12 (= .cse16 main_~ret2~0)) (.cse14 (= .cse16 main_~ret~1)) (.cse0 (= (+ |main_~#x~0.offset| 4) .cse17)) (.cse1 (= .cse8 .cse16)) (.cse2 (< 2147483647 .cse16)) (.cse3 (= .cse16 .cse9)) (.cse4 (= |main_~#x~0.offset| 0)) (.cse13 (<= 0 .cse15))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (and .cse0 (< 2147483647 .cse6) .cse7 (= .cse8 .cse6) (= .cse6 .cse9) .cse4 .cse10) (and .cse0 .cse11 .cse12 .cse4 .cse13 .cse14) (and .cse0 (<= .cse6 2147483647) .cse7 (= .cse6 main_~ret2~0) .cse10 .cse4 (= .cse6 main_~ret~1)) (and .cse0 .cse11 .cse12 .cse4 .cse5 .cse14) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse13))))))) [2018-11-23 12:28:41,373 WARN L180 SmtUtils]: Spent 225.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 12:28:43,533 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 12:28:43,534 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:28:43,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 118 treesize of output 94 [2018-11-23 12:28:44,000 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 94 treesize of output 70 [2018-11-23 12:28:44,003 INFO L267 ElimStorePlain]: Start of recursive call 4: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:44,017 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:44,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 75 [2018-11-23 12:28:44,321 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:44,323 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 59 [2018-11-23 12:28:44,326 INFO L267 ElimStorePlain]: Start of recursive call 6: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:44,341 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:44,974 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 112 treesize of output 88 [2018-11-23 12:28:44,983 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 88 treesize of output 64 [2018-11-23 12:28:44,986 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:45,003 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:45,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 79 [2018-11-23 12:28:45,315 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:45,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 59 [2018-11-23 12:28:45,320 INFO L267 ElimStorePlain]: Start of recursive call 10: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:45,339 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:46,263 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 89 treesize of output 69 [2018-11-23 12:28:46,269 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:46,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 69 treesize of output 53 [2018-11-23 12:28:46,273 INFO L267 ElimStorePlain]: Start of recursive call 12: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:46,288 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:46,601 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 73 [2018-11-23 12:28:46,615 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 53 [2018-11-23 12:28:46,619 INFO L267 ElimStorePlain]: Start of recursive call 14: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:46,632 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:49,492 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 109 treesize of output 85 [2018-11-23 12:28:49,496 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:28:49,498 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 85 treesize of output 65 [2018-11-23 12:28:49,505 INFO L267 ElimStorePlain]: Start of recursive call 16: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:49,523 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:50,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 87 treesize of output 67 [2018-11-23 12:28:50,123 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 47 [2018-11-23 12:28:50,126 INFO L267 ElimStorePlain]: Start of recursive call 18: 2 dim-0 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:50,139 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-11-23 12:28:51,003 INFO L267 ElimStorePlain]: Start of recursive call 1: 24 dim-0 vars, 24 dim-2 vars, End of recursive call: 16 dim-0 vars, and 8 xjuncts. [2018-11-23 12:28:51,004 INFO L202 ElimStorePlain]: Needed 18 recursive calls to eliminate 48 variables, input treesize:2913, output treesize:455 [2018-11-23 12:28:51,037 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:28:51,038 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_92, v_prenex_93, v_prenex_76, v_prenex_77, v_prenex_57, v_prenex_56, v_prenex_55, v_prenex_54, v_prenex_88, v_prenex_89, v_prenex_63, v_prenex_62, |#memory_int|, |main_~#x~0.base|, v_prenex_82, v_prenex_83, v_prenex_86, v_prenex_87, v_prenex_61, v_prenex_60, v_prenex_65, v_prenex_64, v_prenex_90, v_prenex_91, v_prenex_84, v_prenex_85, v_prenex_67, v_prenex_66, v_prenex_80, v_prenex_81, v_prenex_73, v_prenex_72, v_prenex_59, v_prenex_58, v_prenex_71, v_prenex_70, v_prenex_96, v_prenex_97, v_prenex_94, v_prenex_95, v_prenex_78, v_prenex_79, v_prenex_98, v_prenex_99, v_prenex_74, v_prenex_75, v_prenex_69, v_prenex_68]. (let ((.cse6 (+ |main_#t~ret10| 4294967296)) (.cse8 (+ main_~ret2~0 4294967296)) (.cse7 (+ main_~ret~1 4294967296))) (or (let ((.cse0 (let ((.cse2 (select v_prenex_92 v_prenex_93))) (+ (select .cse2 0) (select .cse2 4) 1)))) (let ((.cse1 (mod (+ (div .cse0 2) 1) 4294967296))) (and (< .cse0 0) (= .cse1 main_~ret~1) (= .cse1 main_~ret2~0) (= |main_#t~ret10| .cse1) (not (= 0 (mod .cse0 2))) (<= .cse1 2147483647)))) (let ((.cse4 (let ((.cse10 (select v_prenex_76 v_prenex_77))) (+ (select .cse10 0) (select .cse10 4) 1)))) (let ((.cse9 (div .cse4 2))) (let ((.cse3 (mod .cse9 4294967296)) (.cse5 (mod (+ .cse9 1) 4294967296))) (and (< 2147483647 .cse3) (<= 0 .cse4) (< 2147483647 .cse5) (= .cse3 .cse6) (not (= 0 (mod .cse4 2))) (< .cse4 0) (= .cse5 .cse7) (= .cse8 .cse5))))) (let ((.cse13 (let ((.cse15 (select v_prenex_57 v_prenex_56))) (+ (select .cse15 0) (select .cse15 4) 1)))) (let ((.cse14 (div .cse13 2))) (let ((.cse12 (mod (+ .cse14 1) 4294967296)) (.cse11 (mod .cse14 4294967296))) (and (<= .cse11 2147483647) (= .cse8 .cse12) (< 2147483647 .cse12) (= .cse12 .cse7) (not (= 0 (mod .cse13 2))) (<= 0 .cse13) (= |main_#t~ret10| .cse11) (< .cse13 0))))) (let ((.cse17 (let ((.cse18 (select v_prenex_55 v_prenex_54))) (+ (select .cse18 0) (select .cse18 4) 1)))) (let ((.cse16 (mod (div .cse17 2) 4294967296))) (and (< 2147483647 .cse16) (= .cse8 .cse16) (<= 0 .cse17) (= 0 (mod .cse17 2)) (= .cse16 .cse7) (= .cse16 .cse6)))) (let ((.cse20 (let ((.cse21 (select v_prenex_88 v_prenex_89))) (+ (select .cse21 0) (select .cse21 4) 1)))) (let ((.cse19 (mod (div .cse20 2) 4294967296))) (and (= |main_#t~ret10| .cse19) (< 2147483647 .cse19) (= .cse19 .cse7) (<= .cse19 2147483647) (= 0 (mod .cse20 2)) (= .cse8 .cse19)))) (let ((.cse24 (let ((.cse26 (select v_prenex_63 v_prenex_62))) (+ (select .cse26 0) (select .cse26 4) 1)))) (let ((.cse25 (div .cse24 2))) (let ((.cse22 (mod (+ .cse25 1) 4294967296)) (.cse23 (mod .cse25 4294967296))) (and (<= .cse22 2147483647) (= |main_#t~ret10| .cse22) (= .cse8 .cse23) (< 2147483647 .cse23) (not (= 0 (mod .cse24 2))) (= .cse23 .cse7) (<= 0 .cse24) (< .cse24 0))))) (let ((.cse28 (let ((.cse29 (select |#memory_int| |main_~#x~0.base|))) (+ (select .cse29 0) (select .cse29 4) 1)))) (let ((.cse27 (mod (div .cse28 2) 4294967296))) (and (= .cse27 main_~ret~1) (<= .cse27 2147483647) (= |main_#t~ret10| .cse27) (= .cse27 main_~ret2~0) (<= 0 .cse28)))) (let ((.cse31 (let ((.cse32 (select v_prenex_82 v_prenex_83))) (+ (select .cse32 0) (select .cse32 4) 1)))) (let ((.cse30 (mod (div .cse31 2) 4294967296))) (and (= .cse8 .cse30) (= 0 (mod .cse31 2)) (= .cse30 .cse7) (< 2147483647 .cse30) (= .cse30 .cse6)))) (let ((.cse34 (let ((.cse35 (select v_prenex_86 v_prenex_87))) (+ (select .cse35 0) (select .cse35 4) 1)))) (let ((.cse33 (mod (div .cse34 2) 4294967296))) (and (= .cse33 .cse7) (= .cse33 .cse6) (< 2147483647 .cse33) (<= 0 .cse34) (= .cse8 .cse33)))) (let ((.cse38 (let ((.cse40 (select v_prenex_61 v_prenex_60))) (+ (select .cse40 0) (select .cse40 4) 1)))) (let ((.cse39 (div .cse38 2))) (let ((.cse37 (mod (+ .cse39 1) 4294967296)) (.cse36 (mod .cse39 4294967296))) (and (< 2147483647 .cse36) (< 2147483647 .cse37) (= .cse8 .cse36) (= .cse37 .cse6) (< .cse38 0) (<= 0 .cse38) (= .cse36 .cse7) (not (= 0 (mod .cse38 2))))))) (let ((.cse42 (let ((.cse43 (select v_prenex_65 v_prenex_64))) (+ (select .cse43 0) (select .cse43 4) 1)))) (let ((.cse41 (mod (div .cse42 2) 4294967296))) (and (= |main_#t~ret10| .cse41) (<= 0 .cse42) (< 2147483647 .cse41) (= .cse41 .cse7) (= .cse8 .cse41) (<= .cse41 2147483647)))) (let ((.cse45 (let ((.cse46 (select v_prenex_90 v_prenex_91))) (+ (select .cse46 0) (select .cse46 4) 1)))) (let ((.cse44 (mod (div .cse45 2) 4294967296))) (and (< 2147483647 .cse44) (= .cse44 .cse6) (<= 0 .cse45) (= .cse44 main_~ret2~0) (= .cse44 main_~ret~1) (<= .cse44 2147483647)))) (let ((.cse48 (let ((.cse51 (select v_prenex_84 v_prenex_85))) (+ (select .cse51 0) (select .cse51 4) 1)))) (let ((.cse50 (div .cse48 2))) (let ((.cse47 (mod .cse50 4294967296)) (.cse49 (mod (+ .cse50 1) 4294967296))) (and (<= .cse47 2147483647) (<= 0 .cse48) (< .cse48 0) (not (= 0 (mod .cse48 2))) (< 2147483647 .cse49) (= .cse47 main_~ret2~0) (= .cse47 main_~ret~1) (= .cse49 .cse6))))) (let ((.cse53 (let ((.cse56 (select v_prenex_67 v_prenex_66))) (+ (select .cse56 0) (select .cse56 4) 1)))) (let ((.cse55 (div .cse53 2))) (let ((.cse52 (mod (+ .cse55 1) 4294967296)) (.cse54 (mod .cse55 4294967296))) (and (<= .cse52 2147483647) (not (= 0 (mod .cse53 2))) (<= .cse54 2147483647) (= .cse54 main_~ret2~0) (= |main_#t~ret10| .cse52) (= .cse54 main_~ret~1) (<= 0 .cse53) (< .cse53 0))))) (let ((.cse57 (let ((.cse59 (select v_prenex_80 v_prenex_81))) (+ (select .cse59 0) (select .cse59 4) 1)))) (let ((.cse58 (mod (div .cse57 2) 4294967296))) (and (= 0 (mod .cse57 2)) (= .cse58 main_~ret~1) (<= .cse58 2147483647) (<= 0 .cse57) (= |main_#t~ret10| .cse58) (= .cse58 main_~ret2~0)))) (let ((.cse61 (let ((.cse62 (select v_prenex_73 v_prenex_72))) (+ (select .cse62 0) (select .cse62 4) 1)))) (let ((.cse60 (mod (div .cse61 2) 4294967296))) (and (= .cse60 .cse6) (= 0 (mod .cse61 2)) (= .cse60 main_~ret~1) (<= 0 .cse61) (= .cse60 main_~ret2~0) (< 2147483647 .cse60) (<= .cse60 2147483647)))) (let ((.cse63 (let ((.cse65 (select v_prenex_59 v_prenex_58))) (+ (select .cse65 0) (select .cse65 4) 1)))) (let ((.cse64 (mod (+ (div .cse63 2) 1) 4294967296))) (and (< .cse63 0) (= .cse64 .cse7) (not (= 0 (mod .cse63 2))) (< 2147483647 .cse64) (= .cse8 .cse64) (<= .cse64 2147483647) (= |main_#t~ret10| .cse64)))) (let ((.cse66 (let ((.cse68 (select v_prenex_71 v_prenex_70))) (+ (select .cse68 0) (select .cse68 4) 1)))) (let ((.cse67 (mod (div .cse66 2) 4294967296))) (and (= 0 (mod .cse66 2)) (<= .cse67 2147483647) (= .cse67 main_~ret2~0) (= .cse67 .cse6) (< 2147483647 .cse67) (= .cse67 main_~ret~1)))) (let ((.cse70 (let ((.cse71 (select v_prenex_96 v_prenex_97))) (+ (select .cse71 0) (select .cse71 4) 1)))) (let ((.cse69 (mod (+ (div .cse70 2) 1) 4294967296))) (and (= .cse69 .cse6) (not (= 0 (mod .cse70 2))) (= .cse69 main_~ret~1) (<= .cse69 2147483647) (< 2147483647 .cse69) (< .cse70 0) (= .cse69 main_~ret2~0)))) (let ((.cse73 (let ((.cse74 (select v_prenex_94 v_prenex_95))) (+ (select .cse74 0) (select .cse74 4) 1)))) (let ((.cse72 (mod (+ (div .cse73 2) 1) 4294967296))) (and (= .cse72 .cse6) (= .cse8 .cse72) (< 2147483647 .cse72) (not (= 0 (mod .cse73 2))) (= .cse72 .cse7) (< .cse73 0)))) (let ((.cse75 (let ((.cse79 (select v_prenex_78 v_prenex_79))) (+ (select .cse79 0) (select .cse79 4) 1)))) (let ((.cse78 (div .cse75 2))) (let ((.cse77 (mod (+ .cse78 1) 4294967296)) (.cse76 (mod .cse78 4294967296))) (and (not (= 0 (mod .cse75 2))) (< 2147483647 .cse76) (< .cse75 0) (= .cse77 main_~ret~1) (= .cse77 main_~ret2~0) (<= 0 .cse75) (<= .cse77 2147483647) (= .cse76 .cse6))))) (let ((.cse81 (let ((.cse82 (select v_prenex_98 v_prenex_99))) (+ (select .cse82 0) (select .cse82 4) 1)))) (let ((.cse80 (mod (div .cse81 2) 4294967296))) (and (= .cse80 main_~ret2~0) (= |main_#t~ret10| .cse80) (= .cse80 main_~ret~1) (<= .cse80 2147483647) (= 0 (mod .cse81 2))))) (let ((.cse84 (let ((.cse85 (select v_prenex_74 v_prenex_75))) (+ (select .cse85 0) (select .cse85 4) 1)))) (let ((.cse83 (mod (div .cse84 2) 4294967296))) (and (= |main_#t~ret10| .cse83) (<= 0 .cse84) (= .cse8 .cse83) (<= .cse83 2147483647) (< 2147483647 .cse83) (= 0 (mod .cse84 2)) (= .cse83 .cse7)))) (let ((.cse87 (let ((.cse90 (select v_prenex_69 v_prenex_68))) (+ (select .cse90 0) (select .cse90 4) 1)))) (let ((.cse89 (div .cse87 2))) (let ((.cse86 (mod (+ .cse89 1) 4294967296)) (.cse88 (mod .cse89 4294967296))) (and (= .cse86 main_~ret~1) (< .cse87 0) (<= .cse86 2147483647) (<= .cse88 2147483647) (not (= 0 (mod .cse87 2))) (= .cse86 main_~ret2~0) (<= 0 .cse87) (= |main_#t~ret10| .cse88))))))) [2018-11-23 12:28:51,039 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_arrayElimCell_61, v_arrayElimCell_62, v_arrayElimCell_52, v_arrayElimCell_53, v_arrayElimCell_50, v_arrayElimCell_49, v_arrayElimCell_47, v_arrayElimCell_46, v_arrayElimCell_65, v_arrayElimCell_64, v_arrayElimCell_56, v_arrayElimCell_55, v_arrayElimCell_43, v_arrayElimCell_44, v_arrayElimCell_58, v_arrayElimCell_59]. (let ((.cse4 (+ main_~ret~1 4294967296)) (.cse0 (+ |main_#t~ret10| 4294967296)) (.cse2 (+ main_~ret2~0 4294967296))) (or (let ((.cse3 (+ v_arrayElimCell_61 v_arrayElimCell_62 1))) (let ((.cse1 (mod (div .cse3 2) 4294967296))) (and (= .cse0 .cse1) (= .cse2 .cse1) (= (mod .cse3 2) 0) (= .cse4 .cse1) (< 2147483647 .cse1) (<= 0 .cse3)))) (let ((.cse6 (+ v_arrayElimCell_52 v_arrayElimCell_53 1))) (let ((.cse5 (mod (div .cse6 2) 4294967296))) (and (= |main_#t~ret10| .cse5) (= main_~ret~1 .cse5) (= main_~ret2~0 .cse5) (<= 0 .cse6) (<= .cse5 2147483647) (= 0 (mod .cse6 2))))) (let ((.cse8 (+ v_arrayElimCell_50 v_arrayElimCell_49 1))) (let ((.cse7 (mod (+ (div .cse8 2) 1) 4294967296))) (and (= main_~ret2~0 .cse7) (= main_~ret~1 .cse7) (< .cse8 0) (<= .cse7 2147483647) (= |main_#t~ret10| .cse7) (not (= (mod .cse8 2) 0))))) (let ((.cse10 (+ v_arrayElimCell_47 v_arrayElimCell_46 1))) (let ((.cse9 (mod (div .cse10 2) 4294967296))) (and (= .cse0 .cse9) (< 2147483647 .cse9) (= 0 (mod .cse10 2)) (= .cse9 .cse4) (= .cse2 .cse9)))) (let ((.cse12 (+ v_arrayElimCell_65 v_arrayElimCell_64 1))) (let ((.cse11 (mod (div .cse12 2) 4294967296))) (and (= main_~ret~1 .cse11) (= |main_#t~ret10| .cse11) (= main_~ret2~0 .cse11) (<= .cse11 2147483647) (<= 0 .cse12)))) (let ((.cse14 (+ v_arrayElimCell_56 v_arrayElimCell_55 1))) (let ((.cse13 (mod (div .cse14 2) 4294967296))) (and (= |main_#t~ret10| .cse13) (<= .cse13 2147483647) (= 0 (mod .cse14 2)) (= .cse13 main_~ret2~0) (= .cse13 main_~ret~1)))) (let ((.cse16 (+ v_arrayElimCell_43 v_arrayElimCell_44 1))) (let ((.cse15 (mod (+ (div .cse16 2) 1) 4294967296))) (and (= .cse4 .cse15) (= .cse0 .cse15) (< 2147483647 .cse15) (not (= (mod .cse16 2) 0)) (= .cse2 .cse15) (< .cse16 0)))) (let ((.cse18 (+ v_arrayElimCell_58 v_arrayElimCell_59 1))) (let ((.cse17 (mod (div .cse18 2) 4294967296))) (and (= .cse4 .cse17) (= .cse0 .cse17) (= .cse2 .cse17) (< 2147483647 .cse17) (<= 0 .cse18)))))) [2018-11-23 12:29:13,825 WARN L180 SmtUtils]: Spent 22.53 s on a formula simplification. DAG size of input: 122 DAG size of output: 82 [2018-11-23 12:29:28,275 WARN L180 SmtUtils]: Spent 14.20 s on a formula simplification. DAG size of input: 82 DAG size of output: 66 [2018-11-23 12:29:28,310 INFO L256 TraceCheckUtils]: 0: Hoare triple {882#true} call ULTIMATE.init(); {882#true} is VALID [2018-11-23 12:29:28,311 INFO L273 TraceCheckUtils]: 1: Hoare triple {882#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {882#true} is VALID [2018-11-23 12:29:28,311 INFO L273 TraceCheckUtils]: 2: Hoare triple {882#true} assume true; {882#true} is VALID [2018-11-23 12:29:28,311 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {882#true} {882#true} #60#return; {882#true} is VALID [2018-11-23 12:29:28,311 INFO L256 TraceCheckUtils]: 4: Hoare triple {882#true} call #t~ret11 := main(); {882#true} is VALID [2018-11-23 12:29:28,311 INFO L273 TraceCheckUtils]: 5: Hoare triple {882#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {882#true} is VALID [2018-11-23 12:29:28,312 INFO L273 TraceCheckUtils]: 6: Hoare triple {882#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {905#(and (< 1 ~N~0) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:29:28,327 INFO L256 TraceCheckUtils]: 7: Hoare triple {905#(and (< 1 ~N~0) (= |main_~#x~0.offset| 0))} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {909#(< 1 ~N~0)} is VALID [2018-11-23 12:29:28,329 INFO L273 TraceCheckUtils]: 8: Hoare triple {909#(< 1 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {913#(and (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,330 INFO L273 TraceCheckUtils]: 9: Hoare triple {913#(and (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {917#(and (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,331 INFO L273 TraceCheckUtils]: 10: Hoare triple {917#(and (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {921#(and (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,332 INFO L273 TraceCheckUtils]: 11: Hoare triple {921#(and (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {925#(and (= 1 mapavg_~i~0) (< 1 ~N~0) (= (+ mapavg_~i~0 (select (select |#memory_int| |mapavg_#in~x.base|) (+ (* 4 mapavg_~i~0) |mapavg_#in~x.offset|)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|)) mapavg_~ret~0))} is VALID [2018-11-23 12:29:28,338 INFO L273 TraceCheckUtils]: 12: Hoare triple {925#(and (= 1 mapavg_~i~0) (< 1 ~N~0) (= (+ mapavg_~i~0 (select (select |#memory_int| |mapavg_#in~x.base|) (+ (* 4 mapavg_~i~0) |mapavg_#in~x.offset|)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|)) mapavg_~ret~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {929#(and (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0) (<= mapavg_~i~0 2))} is VALID [2018-11-23 12:29:28,339 INFO L273 TraceCheckUtils]: 13: Hoare triple {929#(and (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0) (<= mapavg_~i~0 2))} assume !(~i~0 < ~N~0); {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,347 INFO L273 TraceCheckUtils]: 14: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,348 INFO L273 TraceCheckUtils]: 15: Hoare triple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} assume true; {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,351 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} {905#(and (< 1 ~N~0) (= |main_~#x~0.offset| 0))} #64#return; {944#(and (<= ~N~0 2) (or (and (or (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ |main_#t~ret3| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) |main_#t~ret3|))) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) |main_#t~ret3|)) (and (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ |main_#t~ret3| 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)))))) (< 1 ~N~0) (= |main_~#x~0.offset| 0))} is VALID [2018-11-23 12:29:28,357 INFO L273 TraceCheckUtils]: 17: Hoare triple {944#(and (<= ~N~0 2) (or (and (or (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ |main_#t~ret3| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) |main_#t~ret3|))) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) |main_#t~ret3|)) (and (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ |main_#t~ret3| 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)))))) (< 1 ~N~0) (= |main_~#x~0.offset| 0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {948#(or (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} is VALID [2018-11-23 12:29:28,359 INFO L256 TraceCheckUtils]: 18: Hoare triple {948#(or (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {952#(and (<= ~N~0 2) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,359 INFO L273 TraceCheckUtils]: 19: Hoare triple {952#(and (<= ~N~0 2) (< 1 ~N~0))} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {956#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,360 INFO L273 TraceCheckUtils]: 20: Hoare triple {956#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {960#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,361 INFO L273 TraceCheckUtils]: 21: Hoare triple {960#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {964#(and (<= ~N~0 2) (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,362 INFO L273 TraceCheckUtils]: 22: Hoare triple {964#(and (<= ~N~0 2) (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,363 INFO L273 TraceCheckUtils]: 23: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,363 INFO L273 TraceCheckUtils]: 24: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} assume !(~i~0 < ~N~0); {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,371 INFO L273 TraceCheckUtils]: 25: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,371 INFO L273 TraceCheckUtils]: 26: Hoare triple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} assume true; {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,375 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} {948#(or (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} #66#return; {983#(and (or (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (= (+ |main_#t~ret6| 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) |main_#t~ret6|) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647)))) (and (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (or (and (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (+ |main_#t~ret6| 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) |main_#t~ret6|))) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)))) (or (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0)) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,378 INFO L273 TraceCheckUtils]: 28: Hoare triple {983#(and (or (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (= (+ |main_#t~ret6| 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) |main_#t~ret6|) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647)))) (and (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (or (and (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (+ |main_#t~ret6| 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296))) (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) |main_#t~ret6|))) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)))) (or (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0)) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))) (< 1 ~N~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {987#(and (or (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret2~0)))) (and (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (or (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))))) (or (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0)) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))) (= main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= main_~i~1 0))} is VALID [2018-11-23 12:29:28,387 INFO L273 TraceCheckUtils]: 29: Hoare triple {987#(and (or (and (or (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (or (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret2~0)))) (and (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (or (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))))) (or (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (<= ~N~0 2) (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0))) (and (<= ~N~0 2) (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0)) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) main_~ret~1) (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1))) (and (<= ~N~0 2) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= |main_~#x~0.offset| 0) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (not (= (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)))) (= main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= main_~i~1 0))} assume !!(~i~1 < ~N~0 - 1);call #t~mem9 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem9, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~mem9; {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} is VALID [2018-11-23 12:29:28,388 INFO L273 TraceCheckUtils]: 30: Hoare triple {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} is VALID [2018-11-23 12:29:28,389 INFO L273 TraceCheckUtils]: 31: Hoare triple {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} assume !(~i~1 < ~N~0 - 1); {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} is VALID [2018-11-23 12:29:28,400 INFO L273 TraceCheckUtils]: 32: Hoare triple {991#(or (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (<= 0 (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1)) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (<= ~N~0 2) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret~1) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (<= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) 2147483647) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) main_~ret2~0)) (and (<= ~N~0 2) (= (+ main_~ret~1 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= (+ main_~ret2~0 4294967296) (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (<= ~N~0 2) (= main_~ret~1 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296)) (<= (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296) 2147483647) (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0) (= main_~ret2~0 (mod (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 4294967296))) (and (not (= (mod (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 0)) (< 2147483647 (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (<= ~N~0 2) (< (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) 0) (= (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ main_~temp~0 (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) 1) ~N~0) 1) 4294967296)) (= (select (select |#memory_int| |main_~#x~0.base|) (+ |main_~#x~0.offset| 4)) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (< 1 ~N~0) (= |main_~#x~0.offset| 0)))} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {1001#(or (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (and (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1))))} is VALID [2018-11-23 12:29:28,402 INFO L256 TraceCheckUtils]: 33: Hoare triple {1001#(or (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (and (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1))))} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {952#(and (<= ~N~0 2) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,402 INFO L273 TraceCheckUtils]: 34: Hoare triple {952#(and (<= ~N~0 2) (< 1 ~N~0))} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {956#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,403 INFO L273 TraceCheckUtils]: 35: Hoare triple {956#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 0) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {960#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,404 INFO L273 TraceCheckUtils]: 36: Hoare triple {960#(and (<= ~N~0 2) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (+ (select (select |#memory_int| mapavg_~x.base) (+ mapavg_~x.offset (* 4 mapavg_~i~0))) mapavg_~i~0)) (< 1 ~N~0) (= 0 mapavg_~i~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {964#(and (<= ~N~0 2) (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} is VALID [2018-11-23 12:29:28,405 INFO L273 TraceCheckUtils]: 37: Hoare triple {964#(and (<= ~N~0 2) (= 1 mapavg_~i~0) (= |mapavg_#in~x.base| mapavg_~x.base) (= mapavg_~ret~0 (select (select |#memory_int| mapavg_~x.base) mapavg_~x.offset)) (< 1 ~N~0) (= |mapavg_#in~x.offset| mapavg_~x.offset))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,406 INFO L273 TraceCheckUtils]: 38: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,407 INFO L273 TraceCheckUtils]: 39: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} assume !(~i~0 < ~N~0); {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,414 INFO L273 TraceCheckUtils]: 40: Hoare triple {933#(and (<= ~N~0 2) (= mapavg_~ret~0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1)) (< 1 ~N~0))} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:28,415 INFO L273 TraceCheckUtils]: 41: Hoare triple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} assume true; {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} is VALID [2018-11-23 12:29:30,436 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {937#(and (<= ~N~0 2) (or (and (or (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0) (<= 0 (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1))) (or (and (<= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296) |mapavg_#res|)) (and (< 2147483647 (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296)) (= (+ |mapavg_#res| 4294967296) (mod (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 4294967296))))) (and (not (= (mod (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 0)) (< (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) 0) (or (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) (+ |mapavg_#res| 4294967296)) (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296))) (and (= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) |mapavg_#res|) (<= (mod (+ (div (+ (select (select |#memory_int| |mapavg_#in~x.base|) (+ |mapavg_#in~x.offset| 4)) (select (select |#memory_int| |mapavg_#in~x.base|) |mapavg_#in~x.offset|) 1) ~N~0) 1) 4294967296) 2147483647))))) (< 1 ~N~0))} {1001#(or (and (<= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) 2147483647) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (<= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) 2147483647) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret2~0) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) main_~ret~1)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (and (< 2147483647 (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (< (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) 0) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296)) (= (mod (+ (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 1) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (not (= 0 (mod (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0))) (= |main_~#x~0.offset| 0)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (< 2147483647 (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296)) (= (mod (div (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1) ~N~0) 4294967296) (+ main_~ret~1 4294967296)) (= 8 (* 4 ~N~0)) (= |main_~#x~0.offset| 0) (<= 0 (+ (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (select (select |#memory_int| |main_~#x~0.base|) (+ (* 4 ~N~0) |main_~#x~0.offset| (- 4))) 1))))} #68#return; {1032#(or (exists ((v_arrayElimCell_50 Int) (v_arrayElimCell_49 Int)) (and (= main_~ret2~0 (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (= main_~ret~1 (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 0) (<= (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296) 2147483647) (= |main_#t~ret10| (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 0)))) (exists ((v_arrayElimCell_47 Int) (v_arrayElimCell_46 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= 0 (mod (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)))) (exists ((v_arrayElimCell_58 Int) (v_arrayElimCell_59 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (<= 0 (+ v_arrayElimCell_58 v_arrayElimCell_59 1)))) (exists ((v_arrayElimCell_43 Int) (v_arrayElimCell_44 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< 2147483647 (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 0)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 0))) (exists ((v_arrayElimCell_56 Int) (v_arrayElimCell_55 Int)) (and (= |main_#t~ret10| (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296)) (<= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) 2147483647) (= 0 (mod (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2)) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret2~0) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret~1))))} is UNKNOWN [2018-11-23 12:29:32,442 INFO L273 TraceCheckUtils]: 43: Hoare triple {1032#(or (exists ((v_arrayElimCell_50 Int) (v_arrayElimCell_49 Int)) (and (= main_~ret2~0 (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (= main_~ret~1 (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 0) (<= (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296) 2147483647) (= |main_#t~ret10| (mod (+ (div (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_50 v_arrayElimCell_49 1) 2) 0)))) (exists ((v_arrayElimCell_47 Int) (v_arrayElimCell_46 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= 0 (mod (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)))) (exists ((v_arrayElimCell_58 Int) (v_arrayElimCell_59 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (<= 0 (+ v_arrayElimCell_58 v_arrayElimCell_59 1)))) (exists ((v_arrayElimCell_43 Int) (v_arrayElimCell_44 Int)) (and (= (+ |main_#t~ret10| 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< 2147483647 (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 0)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 0))) (exists ((v_arrayElimCell_56 Int) (v_arrayElimCell_55 Int)) (and (= |main_#t~ret10| (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296)) (<= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) 2147483647) (= 0 (mod (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2)) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret2~0) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret~1))))} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {1036#(or (exists ((v_arrayElimCell_43 Int) (v_arrayElimCell_44 Int)) (and (< 2147483647 (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 0)) (= (+ main_~ret5~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 0))) (exists ((v_arrayElimCell_58 Int) (v_arrayElimCell_59 Int)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (<= 0 (+ v_arrayElimCell_58 v_arrayElimCell_59 1)) (= (+ main_~ret5~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)))) (exists ((v_arrayElimCell_47 Int) (v_arrayElimCell_46 Int)) (and (< 2147483647 (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= 0 (mod (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret5~0 4294967296)))) (exists ((v_arrayElimCell_56 Int) (v_arrayElimCell_55 Int)) (and (<= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) 2147483647) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret5~0) (= 0 (mod (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2)) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret2~0) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret~1))))} is UNKNOWN [2018-11-23 12:29:32,452 INFO L273 TraceCheckUtils]: 44: Hoare triple {1036#(or (exists ((v_arrayElimCell_43 Int) (v_arrayElimCell_44 Int)) (and (< 2147483647 (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (not (= (mod (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 0)) (= (+ main_~ret5~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (+ (div (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 2) 1) 4294967296)) (< (+ v_arrayElimCell_43 v_arrayElimCell_44 1) 0))) (exists ((v_arrayElimCell_58 Int) (v_arrayElimCell_59 Int)) (and (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (= (+ main_~ret~1 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (< 2147483647 (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)) (<= 0 (+ v_arrayElimCell_58 v_arrayElimCell_59 1)) (= (+ main_~ret5~0 4294967296) (mod (div (+ v_arrayElimCell_58 v_arrayElimCell_59 1) 2) 4294967296)))) (exists ((v_arrayElimCell_47 Int) (v_arrayElimCell_46 Int)) (and (< 2147483647 (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= 0 (mod (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret~1 4294967296)) (= (+ main_~ret2~0 4294967296) (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296)) (= (mod (div (+ v_arrayElimCell_47 v_arrayElimCell_46 1) 2) 4294967296) (+ main_~ret5~0 4294967296)))) (exists ((v_arrayElimCell_56 Int) (v_arrayElimCell_55 Int)) (and (<= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) 2147483647) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret5~0) (= 0 (mod (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2)) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret2~0) (= (mod (div (+ v_arrayElimCell_56 v_arrayElimCell_55 1) 2) 4294967296) main_~ret~1))))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {883#false} is VALID [2018-11-23 12:29:32,453 INFO L273 TraceCheckUtils]: 45: Hoare triple {883#false} assume !false; {883#false} is VALID [2018-11-23 12:29:32,474 INFO L134 CoverageAnalysis]: Checked inductivity of 64 backedges. 8 proven. 41 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:29:32,504 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:29:32,504 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2018-11-23 12:29:32,504 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 46 [2018-11-23 12:29:32,505 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:29:32,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:29:36,763 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 34 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 12:29:36,764 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:29:36,764 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:29:36,764 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=420, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:29:36,765 INFO L87 Difference]: Start difference. First operand 29 states and 32 transitions. Second operand 23 states. [2018-11-23 12:30:09,331 WARN L180 SmtUtils]: Spent 27.23 s on a formula simplification. DAG size of input: 126 DAG size of output: 102 [2018-11-23 12:30:23,226 WARN L180 SmtUtils]: Spent 13.51 s on a formula simplification. DAG size of input: 110 DAG size of output: 102 [2018-11-23 12:30:23,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:23,613 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2018-11-23 12:30:23,614 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:30:23,614 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 46 [2018-11-23 12:30:23,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:30:23,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:30:23,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 83 transitions. [2018-11-23 12:30:23,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:30:23,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 83 transitions. [2018-11-23 12:30:23,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 83 transitions. [2018-11-23 12:30:27,879 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 81 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:27,882 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:30:27,882 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 12:30:27,883 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 183 ImplicationChecksByTransitivity, 82.2s TimeCoverageRelationStatistics Valid=137, Invalid=675, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:30:27,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 12:30:28,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 59. [2018-11-23 12:30:28,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:30:28,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 59 states. [2018-11-23 12:30:28,094 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 59 states. [2018-11-23 12:30:28,095 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 59 states. [2018-11-23 12:30:28,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:28,100 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2018-11-23 12:30:28,100 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2018-11-23 12:30:28,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:28,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:28,102 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 69 states. [2018-11-23 12:30:28,102 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 69 states. [2018-11-23 12:30:28,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:28,106 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2018-11-23 12:30:28,106 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2018-11-23 12:30:28,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:28,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:28,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:30:28,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:30:28,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 12:30:28,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 73 transitions. [2018-11-23 12:30:28,112 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 73 transitions. Word has length 46 [2018-11-23 12:30:28,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:30:28,112 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 73 transitions. [2018-11-23 12:30:28,112 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:30:28,112 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 73 transitions. [2018-11-23 12:30:28,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 12:30:28,113 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:30:28,114 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 3, 3, 3, 3, 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 12:30:28,114 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:30:28,114 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:30:28,114 INFO L82 PathProgramCache]: Analyzing trace with hash 1954338866, now seen corresponding path program 2 times [2018-11-23 12:30:28,114 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:30:28,115 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:30:28,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:28,116 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:30:28,116 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:28,127 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:30:28,127 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:30:28,128 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:30:28,137 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:30:28,167 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:30:28,167 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:30:28,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:30:28,198 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:30:28,365 INFO L256 TraceCheckUtils]: 0: Hoare triple {1377#true} call ULTIMATE.init(); {1377#true} is VALID [2018-11-23 12:30:28,366 INFO L273 TraceCheckUtils]: 1: Hoare triple {1377#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1377#true} is VALID [2018-11-23 12:30:28,366 INFO L273 TraceCheckUtils]: 2: Hoare triple {1377#true} assume true; {1377#true} is VALID [2018-11-23 12:30:28,366 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1377#true} {1377#true} #60#return; {1377#true} is VALID [2018-11-23 12:30:28,367 INFO L256 TraceCheckUtils]: 4: Hoare triple {1377#true} call #t~ret11 := main(); {1377#true} is VALID [2018-11-23 12:30:28,367 INFO L273 TraceCheckUtils]: 5: Hoare triple {1377#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {1377#true} is VALID [2018-11-23 12:30:28,367 INFO L273 TraceCheckUtils]: 6: Hoare triple {1377#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1377#true} is VALID [2018-11-23 12:30:28,367 INFO L256 TraceCheckUtils]: 7: Hoare triple {1377#true} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {1377#true} is VALID [2018-11-23 12:30:28,368 INFO L273 TraceCheckUtils]: 8: Hoare triple {1377#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1406#(<= mapavg_~i~0 0)} is VALID [2018-11-23 12:30:28,369 INFO L273 TraceCheckUtils]: 9: Hoare triple {1406#(<= mapavg_~i~0 0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1406#(<= mapavg_~i~0 0)} is VALID [2018-11-23 12:30:28,369 INFO L273 TraceCheckUtils]: 10: Hoare triple {1406#(<= mapavg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1413#(<= mapavg_~i~0 1)} is VALID [2018-11-23 12:30:28,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {1413#(<= mapavg_~i~0 1)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1413#(<= mapavg_~i~0 1)} is VALID [2018-11-23 12:30:28,370 INFO L273 TraceCheckUtils]: 12: Hoare triple {1413#(<= mapavg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1420#(<= mapavg_~i~0 2)} is VALID [2018-11-23 12:30:28,377 INFO L273 TraceCheckUtils]: 13: Hoare triple {1420#(<= mapavg_~i~0 2)} assume !(~i~0 < ~N~0); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,377 INFO L273 TraceCheckUtils]: 14: Hoare triple {1424#(<= ~N~0 2)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,378 INFO L273 TraceCheckUtils]: 15: Hoare triple {1424#(<= ~N~0 2)} assume true; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,378 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {1424#(<= ~N~0 2)} {1377#true} #64#return; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,378 INFO L273 TraceCheckUtils]: 17: Hoare triple {1424#(<= ~N~0 2)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,400 INFO L256 TraceCheckUtils]: 18: Hoare triple {1424#(<= ~N~0 2)} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,415 INFO L273 TraceCheckUtils]: 19: Hoare triple {1424#(<= ~N~0 2)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,423 INFO L273 TraceCheckUtils]: 20: Hoare triple {1424#(<= ~N~0 2)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,437 INFO L273 TraceCheckUtils]: 21: Hoare triple {1424#(<= ~N~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,442 INFO L273 TraceCheckUtils]: 22: Hoare triple {1424#(<= ~N~0 2)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,442 INFO L273 TraceCheckUtils]: 23: Hoare triple {1424#(<= ~N~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,445 INFO L273 TraceCheckUtils]: 24: Hoare triple {1424#(<= ~N~0 2)} assume !(~i~0 < ~N~0); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,445 INFO L273 TraceCheckUtils]: 25: Hoare triple {1424#(<= ~N~0 2)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,445 INFO L273 TraceCheckUtils]: 26: Hoare triple {1424#(<= ~N~0 2)} assume true; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,446 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1424#(<= ~N~0 2)} {1424#(<= ~N~0 2)} #66#return; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,446 INFO L273 TraceCheckUtils]: 28: Hoare triple {1424#(<= ~N~0 2)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,447 INFO L273 TraceCheckUtils]: 29: Hoare triple {1424#(<= ~N~0 2)} assume !!(~i~1 < ~N~0 - 1);call #t~mem9 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem9, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~mem9; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,447 INFO L273 TraceCheckUtils]: 30: Hoare triple {1424#(<= ~N~0 2)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,448 INFO L273 TraceCheckUtils]: 31: Hoare triple {1424#(<= ~N~0 2)} assume !(~i~1 < ~N~0 - 1); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,448 INFO L273 TraceCheckUtils]: 32: Hoare triple {1424#(<= ~N~0 2)} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,448 INFO L256 TraceCheckUtils]: 33: Hoare triple {1424#(<= ~N~0 2)} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {1424#(<= ~N~0 2)} is VALID [2018-11-23 12:30:28,449 INFO L273 TraceCheckUtils]: 34: Hoare triple {1424#(<= ~N~0 2)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1488#(and (<= ~N~0 2) (<= 0 mapavg_~i~0))} is VALID [2018-11-23 12:30:28,449 INFO L273 TraceCheckUtils]: 35: Hoare triple {1488#(and (<= ~N~0 2) (<= 0 mapavg_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1488#(and (<= ~N~0 2) (<= 0 mapavg_~i~0))} is VALID [2018-11-23 12:30:28,450 INFO L273 TraceCheckUtils]: 36: Hoare triple {1488#(and (<= ~N~0 2) (<= 0 mapavg_~i~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1495#(and (<= ~N~0 2) (<= 1 mapavg_~i~0))} is VALID [2018-11-23 12:30:28,451 INFO L273 TraceCheckUtils]: 37: Hoare triple {1495#(and (<= ~N~0 2) (<= 1 mapavg_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1495#(and (<= ~N~0 2) (<= 1 mapavg_~i~0))} is VALID [2018-11-23 12:30:28,452 INFO L273 TraceCheckUtils]: 38: Hoare triple {1495#(and (<= ~N~0 2) (<= 1 mapavg_~i~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1502#(and (<= ~N~0 2) (<= 2 mapavg_~i~0))} is VALID [2018-11-23 12:30:28,453 INFO L273 TraceCheckUtils]: 39: Hoare triple {1502#(and (<= ~N~0 2) (<= 2 mapavg_~i~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1378#false} is VALID [2018-11-23 12:30:28,453 INFO L273 TraceCheckUtils]: 40: Hoare triple {1378#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1378#false} is VALID [2018-11-23 12:30:28,453 INFO L273 TraceCheckUtils]: 41: Hoare triple {1378#false} assume !(~i~0 < ~N~0); {1378#false} is VALID [2018-11-23 12:30:28,454 INFO L273 TraceCheckUtils]: 42: Hoare triple {1378#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1378#false} is VALID [2018-11-23 12:30:28,454 INFO L273 TraceCheckUtils]: 43: Hoare triple {1378#false} assume true; {1378#false} is VALID [2018-11-23 12:30:28,454 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {1378#false} {1424#(<= ~N~0 2)} #68#return; {1378#false} is VALID [2018-11-23 12:30:28,455 INFO L273 TraceCheckUtils]: 45: Hoare triple {1378#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {1378#false} is VALID [2018-11-23 12:30:28,455 INFO L273 TraceCheckUtils]: 46: Hoare triple {1378#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1378#false} is VALID [2018-11-23 12:30:28,455 INFO L273 TraceCheckUtils]: 47: Hoare triple {1378#false} assume !false; {1378#false} is VALID [2018-11-23 12:30:28,458 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 40 proven. 30 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 12:30:28,478 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:30:28,478 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-23 12:30:28,478 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:30:28,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:30:28,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:30:28,525 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:28,525 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:30:28,525 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:30:28,526 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:30:28,526 INFO L87 Difference]: Start difference. First operand 59 states and 73 transitions. Second operand 9 states. [2018-11-23 12:30:28,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:28,953 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2018-11-23 12:30:28,953 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:30:28,954 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:30:28,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:30:28,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:30:28,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2018-11-23 12:30:28,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:30:28,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2018-11-23 12:30:28,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2018-11-23 12:30:29,136 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:29,139 INFO L225 Difference]: With dead ends: 86 [2018-11-23 12:30:29,139 INFO L226 Difference]: Without dead ends: 54 [2018-11-23 12:30:29,140 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:30:29,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-23 12:30:29,192 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 49. [2018-11-23 12:30:29,192 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:30:29,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 49 states. [2018-11-23 12:30:29,192 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 49 states. [2018-11-23 12:30:29,193 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 49 states. [2018-11-23 12:30:29,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:29,195 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2018-11-23 12:30:29,195 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2018-11-23 12:30:29,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:29,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:29,196 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 54 states. [2018-11-23 12:30:29,196 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 54 states. [2018-11-23 12:30:29,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:29,199 INFO L93 Difference]: Finished difference Result 54 states and 59 transitions. [2018-11-23 12:30:29,199 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 59 transitions. [2018-11-23 12:30:29,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:29,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:29,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:30:29,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:30:29,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:30:29,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2018-11-23 12:30:29,203 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 55 transitions. Word has length 48 [2018-11-23 12:30:29,203 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:30:29,203 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 55 transitions. [2018-11-23 12:30:29,203 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:30:29,203 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 55 transitions. [2018-11-23 12:30:29,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 12:30:29,205 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:30:29,205 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 3, 3, 3, 3, 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 12:30:29,205 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:30:29,205 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:30:29,205 INFO L82 PathProgramCache]: Analyzing trace with hash -1166910286, now seen corresponding path program 3 times [2018-11-23 12:30:29,205 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:30:29,206 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:30:29,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:29,206 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:30:29,206 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:29,218 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:30:29,218 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:30:29,218 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:30:29,237 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:30:29,286 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:30:29,287 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:30:29,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:30:29,308 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:30:29,460 INFO L256 TraceCheckUtils]: 0: Hoare triple {1834#true} call ULTIMATE.init(); {1834#true} is VALID [2018-11-23 12:30:29,460 INFO L273 TraceCheckUtils]: 1: Hoare triple {1834#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {1834#true} is VALID [2018-11-23 12:30:29,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {1834#true} assume true; {1834#true} is VALID [2018-11-23 12:30:29,460 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1834#true} {1834#true} #60#return; {1834#true} is VALID [2018-11-23 12:30:29,460 INFO L256 TraceCheckUtils]: 4: Hoare triple {1834#true} call #t~ret11 := main(); {1834#true} is VALID [2018-11-23 12:30:29,461 INFO L273 TraceCheckUtils]: 5: Hoare triple {1834#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {1834#true} is VALID [2018-11-23 12:30:29,461 INFO L273 TraceCheckUtils]: 6: Hoare triple {1834#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {1834#true} is VALID [2018-11-23 12:30:29,461 INFO L256 TraceCheckUtils]: 7: Hoare triple {1834#true} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {1834#true} is VALID [2018-11-23 12:30:29,462 INFO L273 TraceCheckUtils]: 8: Hoare triple {1834#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1863#(<= 0 mapavg_~i~0)} is VALID [2018-11-23 12:30:29,462 INFO L273 TraceCheckUtils]: 9: Hoare triple {1863#(<= 0 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1863#(<= 0 mapavg_~i~0)} is VALID [2018-11-23 12:30:29,462 INFO L273 TraceCheckUtils]: 10: Hoare triple {1863#(<= 0 mapavg_~i~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1870#(<= 1 mapavg_~i~0)} is VALID [2018-11-23 12:30:29,463 INFO L273 TraceCheckUtils]: 11: Hoare triple {1870#(<= 1 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1870#(<= 1 mapavg_~i~0)} is VALID [2018-11-23 12:30:29,463 INFO L273 TraceCheckUtils]: 12: Hoare triple {1870#(<= 1 mapavg_~i~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1877#(<= 2 mapavg_~i~0)} is VALID [2018-11-23 12:30:29,464 INFO L273 TraceCheckUtils]: 13: Hoare triple {1877#(<= 2 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,465 INFO L273 TraceCheckUtils]: 14: Hoare triple {1881#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,465 INFO L273 TraceCheckUtils]: 15: Hoare triple {1881#(<= 3 ~N~0)} assume !(~i~0 < ~N~0); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,466 INFO L273 TraceCheckUtils]: 16: Hoare triple {1881#(<= 3 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,466 INFO L273 TraceCheckUtils]: 17: Hoare triple {1881#(<= 3 ~N~0)} assume true; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,467 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1881#(<= 3 ~N~0)} {1834#true} #64#return; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,468 INFO L273 TraceCheckUtils]: 19: Hoare triple {1881#(<= 3 ~N~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,469 INFO L256 TraceCheckUtils]: 20: Hoare triple {1881#(<= 3 ~N~0)} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,470 INFO L273 TraceCheckUtils]: 21: Hoare triple {1881#(<= 3 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,470 INFO L273 TraceCheckUtils]: 22: Hoare triple {1881#(<= 3 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,471 INFO L273 TraceCheckUtils]: 23: Hoare triple {1881#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,472 INFO L273 TraceCheckUtils]: 24: Hoare triple {1881#(<= 3 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,472 INFO L273 TraceCheckUtils]: 25: Hoare triple {1881#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,473 INFO L273 TraceCheckUtils]: 26: Hoare triple {1881#(<= 3 ~N~0)} assume !(~i~0 < ~N~0); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,473 INFO L273 TraceCheckUtils]: 27: Hoare triple {1881#(<= 3 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,474 INFO L273 TraceCheckUtils]: 28: Hoare triple {1881#(<= 3 ~N~0)} assume true; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,475 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1881#(<= 3 ~N~0)} {1881#(<= 3 ~N~0)} #66#return; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,475 INFO L273 TraceCheckUtils]: 30: Hoare triple {1881#(<= 3 ~N~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,476 INFO L273 TraceCheckUtils]: 31: Hoare triple {1881#(<= 3 ~N~0)} assume !!(~i~1 < ~N~0 - 1);call #t~mem9 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem9, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~mem9; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,476 INFO L273 TraceCheckUtils]: 32: Hoare triple {1881#(<= 3 ~N~0)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,477 INFO L273 TraceCheckUtils]: 33: Hoare triple {1881#(<= 3 ~N~0)} assume !(~i~1 < ~N~0 - 1); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,477 INFO L273 TraceCheckUtils]: 34: Hoare triple {1881#(<= 3 ~N~0)} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,478 INFO L256 TraceCheckUtils]: 35: Hoare triple {1881#(<= 3 ~N~0)} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {1881#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:29,479 INFO L273 TraceCheckUtils]: 36: Hoare triple {1881#(<= 3 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1951#(and (<= mapavg_~i~0 0) (<= 3 ~N~0))} is VALID [2018-11-23 12:30:29,480 INFO L273 TraceCheckUtils]: 37: Hoare triple {1951#(and (<= mapavg_~i~0 0) (<= 3 ~N~0))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1951#(and (<= mapavg_~i~0 0) (<= 3 ~N~0))} is VALID [2018-11-23 12:30:29,481 INFO L273 TraceCheckUtils]: 38: Hoare triple {1951#(and (<= mapavg_~i~0 0) (<= 3 ~N~0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1958#(and (<= 3 ~N~0) (<= mapavg_~i~0 1))} is VALID [2018-11-23 12:30:29,481 INFO L273 TraceCheckUtils]: 39: Hoare triple {1958#(and (<= 3 ~N~0) (<= mapavg_~i~0 1))} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {1958#(and (<= 3 ~N~0) (<= mapavg_~i~0 1))} is VALID [2018-11-23 12:30:29,482 INFO L273 TraceCheckUtils]: 40: Hoare triple {1958#(and (<= 3 ~N~0) (<= mapavg_~i~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1965#(and (<= 3 ~N~0) (<= mapavg_~i~0 2))} is VALID [2018-11-23 12:30:29,484 INFO L273 TraceCheckUtils]: 41: Hoare triple {1965#(and (<= 3 ~N~0) (<= mapavg_~i~0 2))} assume !(~i~0 < ~N~0); {1835#false} is VALID [2018-11-23 12:30:29,485 INFO L273 TraceCheckUtils]: 42: Hoare triple {1835#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {1835#false} is VALID [2018-11-23 12:30:29,485 INFO L273 TraceCheckUtils]: 43: Hoare triple {1835#false} assume true; {1835#false} is VALID [2018-11-23 12:30:29,485 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {1835#false} {1881#(<= 3 ~N~0)} #68#return; {1835#false} is VALID [2018-11-23 12:30:29,485 INFO L273 TraceCheckUtils]: 45: Hoare triple {1835#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {1835#false} is VALID [2018-11-23 12:30:29,485 INFO L273 TraceCheckUtils]: 46: Hoare triple {1835#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1835#false} is VALID [2018-11-23 12:30:29,486 INFO L273 TraceCheckUtils]: 47: Hoare triple {1835#false} assume !false; {1835#false} is VALID [2018-11-23 12:30:29,488 INFO L134 CoverageAnalysis]: Checked inductivity of 79 backedges. 30 proven. 35 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2018-11-23 12:30:29,507 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:30:29,507 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2018-11-23 12:30:29,508 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:30:29,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:30:29,508 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:30:29,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:29,550 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:30:29,550 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:30:29,550 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:30:29,550 INFO L87 Difference]: Start difference. First operand 49 states and 55 transitions. Second operand 9 states. [2018-11-23 12:30:29,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:29,931 INFO L93 Difference]: Finished difference Result 63 states and 68 transitions. [2018-11-23 12:30:29,931 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:30:29,931 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:30:29,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:30:29,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:30:29,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 62 transitions. [2018-11-23 12:30:29,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:30:29,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 62 transitions. [2018-11-23 12:30:29,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 62 transitions. [2018-11-23 12:30:30,030 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:30,031 INFO L225 Difference]: With dead ends: 63 [2018-11-23 12:30:30,032 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 12:30:30,032 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:30:30,033 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 12:30:30,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 31. [2018-11-23 12:30:30,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:30:30,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 31 states. [2018-11-23 12:30:30,064 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 31 states. [2018-11-23 12:30:30,064 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 31 states. [2018-11-23 12:30:30,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:30,067 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2018-11-23 12:30:30,067 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2018-11-23 12:30:30,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:30,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:30,068 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 38 states. [2018-11-23 12:30:30,068 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 38 states. [2018-11-23 12:30:30,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:30,070 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2018-11-23 12:30:30,070 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2018-11-23 12:30:30,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:30,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:30,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:30:30,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:30:30,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:30:30,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 34 transitions. [2018-11-23 12:30:30,072 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 34 transitions. Word has length 48 [2018-11-23 12:30:30,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:30:30,072 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 34 transitions. [2018-11-23 12:30:30,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:30:30,073 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 34 transitions. [2018-11-23 12:30:30,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 12:30:30,073 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:30:30,074 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 3, 3, 3, 3, 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 12:30:30,074 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:30:30,074 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:30:30,074 INFO L82 PathProgramCache]: Analyzing trace with hash -867216270, now seen corresponding path program 4 times [2018-11-23 12:30:30,074 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:30:30,074 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:30:30,075 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:30,075 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:30:30,075 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:30,086 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:30:30,087 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:30:30,087 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 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:30:30,106 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:30:30,141 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:30:30,141 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:30:30,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:30:30,178 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:30:30,412 INFO L256 TraceCheckUtils]: 0: Hoare triple {2203#true} call ULTIMATE.init(); {2203#true} is VALID [2018-11-23 12:30:30,413 INFO L273 TraceCheckUtils]: 1: Hoare triple {2203#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~N~0 := 0; {2203#true} is VALID [2018-11-23 12:30:30,413 INFO L273 TraceCheckUtils]: 2: Hoare triple {2203#true} assume true; {2203#true} is VALID [2018-11-23 12:30:30,413 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2203#true} {2203#true} #60#return; {2203#true} is VALID [2018-11-23 12:30:30,414 INFO L256 TraceCheckUtils]: 4: Hoare triple {2203#true} call #t~ret11 := main(); {2203#true} is VALID [2018-11-23 12:30:30,414 INFO L273 TraceCheckUtils]: 5: Hoare triple {2203#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~N~0 := #t~nondet2;havoc #t~nondet2; {2203#true} is VALID [2018-11-23 12:30:30,414 INFO L273 TraceCheckUtils]: 6: Hoare triple {2203#true} assume ~N~0 > 1;call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(4 * ~N~0);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0; {2203#true} is VALID [2018-11-23 12:30:30,414 INFO L256 TraceCheckUtils]: 7: Hoare triple {2203#true} call #t~ret3 := mapavg(~#x~0.base, ~#x~0.offset); {2203#true} is VALID [2018-11-23 12:30:30,415 INFO L273 TraceCheckUtils]: 8: Hoare triple {2203#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2232#(<= 0 mapavg_~i~0)} is VALID [2018-11-23 12:30:30,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {2232#(<= 0 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2232#(<= 0 mapavg_~i~0)} is VALID [2018-11-23 12:30:30,416 INFO L273 TraceCheckUtils]: 10: Hoare triple {2232#(<= 0 mapavg_~i~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2239#(<= 1 mapavg_~i~0)} is VALID [2018-11-23 12:30:30,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {2239#(<= 1 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2239#(<= 1 mapavg_~i~0)} is VALID [2018-11-23 12:30:30,417 INFO L273 TraceCheckUtils]: 12: Hoare triple {2239#(<= 1 mapavg_~i~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2246#(<= 2 mapavg_~i~0)} is VALID [2018-11-23 12:30:30,418 INFO L273 TraceCheckUtils]: 13: Hoare triple {2246#(<= 2 mapavg_~i~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,418 INFO L273 TraceCheckUtils]: 14: Hoare triple {2250#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,419 INFO L273 TraceCheckUtils]: 15: Hoare triple {2250#(<= 3 ~N~0)} assume !(~i~0 < ~N~0); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,419 INFO L273 TraceCheckUtils]: 16: Hoare triple {2250#(<= 3 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,420 INFO L273 TraceCheckUtils]: 17: Hoare triple {2250#(<= 3 ~N~0)} assume true; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,421 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2250#(<= 3 ~N~0)} {2203#true} #64#return; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,421 INFO L273 TraceCheckUtils]: 19: Hoare triple {2250#(<= 3 ~N~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~ret~1 := #t~ret3;havoc #t~ret3;call #t~mem4 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem4;havoc #t~mem4;call #t~mem5 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem5, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem5;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,422 INFO L256 TraceCheckUtils]: 20: Hoare triple {2250#(<= 3 ~N~0)} call #t~ret6 := mapavg(~#x~0.base, ~#x~0.offset); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,423 INFO L273 TraceCheckUtils]: 21: Hoare triple {2250#(<= 3 ~N~0)} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,423 INFO L273 TraceCheckUtils]: 22: Hoare triple {2250#(<= 3 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,424 INFO L273 TraceCheckUtils]: 23: Hoare triple {2250#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,424 INFO L273 TraceCheckUtils]: 24: Hoare triple {2250#(<= 3 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,425 INFO L273 TraceCheckUtils]: 25: Hoare triple {2250#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,426 INFO L273 TraceCheckUtils]: 26: Hoare triple {2250#(<= 3 ~N~0)} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,426 INFO L273 TraceCheckUtils]: 27: Hoare triple {2250#(<= 3 ~N~0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,427 INFO L273 TraceCheckUtils]: 28: Hoare triple {2250#(<= 3 ~N~0)} assume !(~i~0 < ~N~0); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,427 INFO L273 TraceCheckUtils]: 29: Hoare triple {2250#(<= 3 ~N~0)} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,428 INFO L273 TraceCheckUtils]: 30: Hoare triple {2250#(<= 3 ~N~0)} assume true; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,429 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {2250#(<= 3 ~N~0)} {2250#(<= 3 ~N~0)} #66#return; {2250#(<= 3 ~N~0)} is VALID [2018-11-23 12:30:30,429 INFO L273 TraceCheckUtils]: 32: Hoare triple {2250#(<= 3 ~N~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret2~0 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem7;havoc #t~mem7;~i~1 := 0; {2308#(and (<= 3 ~N~0) (<= main_~i~1 0))} is VALID [2018-11-23 12:30:30,430 INFO L273 TraceCheckUtils]: 33: Hoare triple {2308#(and (<= 3 ~N~0) (<= main_~i~1 0))} assume !!(~i~1 < ~N~0 - 1);call #t~mem9 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem9, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~mem9; {2308#(and (<= 3 ~N~0) (<= main_~i~1 0))} is VALID [2018-11-23 12:30:30,431 INFO L273 TraceCheckUtils]: 34: Hoare triple {2308#(and (<= 3 ~N~0) (<= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {2315#(and (<= 3 ~N~0) (<= main_~i~1 1))} is VALID [2018-11-23 12:30:30,432 INFO L273 TraceCheckUtils]: 35: Hoare triple {2315#(and (<= 3 ~N~0) (<= main_~i~1 1))} assume !(~i~1 < ~N~0 - 1); {2204#false} is VALID [2018-11-23 12:30:30,432 INFO L273 TraceCheckUtils]: 36: Hoare triple {2204#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4 * (~N~0 - 1), 4); {2204#false} is VALID [2018-11-23 12:30:30,432 INFO L256 TraceCheckUtils]: 37: Hoare triple {2204#false} call #t~ret10 := mapavg(~#x~0.base, ~#x~0.offset); {2204#false} is VALID [2018-11-23 12:30:30,433 INFO L273 TraceCheckUtils]: 38: Hoare triple {2204#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2204#false} is VALID [2018-11-23 12:30:30,433 INFO L273 TraceCheckUtils]: 39: Hoare triple {2204#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2204#false} is VALID [2018-11-23 12:30:30,433 INFO L273 TraceCheckUtils]: 40: Hoare triple {2204#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2204#false} is VALID [2018-11-23 12:30:30,433 INFO L273 TraceCheckUtils]: 41: Hoare triple {2204#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2204#false} is VALID [2018-11-23 12:30:30,434 INFO L273 TraceCheckUtils]: 42: Hoare triple {2204#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2204#false} is VALID [2018-11-23 12:30:30,434 INFO L273 TraceCheckUtils]: 43: Hoare triple {2204#false} assume !!(~i~0 < ~N~0);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + ~i~0 + #t~mem1;havoc #t~mem1; {2204#false} is VALID [2018-11-23 12:30:30,434 INFO L273 TraceCheckUtils]: 44: Hoare triple {2204#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2204#false} is VALID [2018-11-23 12:30:30,435 INFO L273 TraceCheckUtils]: 45: Hoare triple {2204#false} assume !(~i~0 < ~N~0); {2204#false} is VALID [2018-11-23 12:30:30,435 INFO L273 TraceCheckUtils]: 46: Hoare triple {2204#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % ~N~0 then (if ~N~0 < 0 then ~ret~0 / ~N~0 - 1 else 1 + ~ret~0 / ~N~0) else ~ret~0 / ~N~0) % 4294967296 - 4294967296); {2204#false} is VALID [2018-11-23 12:30:30,435 INFO L273 TraceCheckUtils]: 47: Hoare triple {2204#false} assume true; {2204#false} is VALID [2018-11-23 12:30:30,435 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {2204#false} {2204#false} #68#return; {2204#false} is VALID [2018-11-23 12:30:30,436 INFO L273 TraceCheckUtils]: 49: Hoare triple {2204#false} assume -2147483648 <= #t~ret10 && #t~ret10 <= 2147483647;~ret5~0 := #t~ret10;havoc #t~ret10; {2204#false} is VALID [2018-11-23 12:30:30,436 INFO L273 TraceCheckUtils]: 50: Hoare triple {2204#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2204#false} is VALID [2018-11-23 12:30:30,436 INFO L273 TraceCheckUtils]: 51: Hoare triple {2204#false} assume !false; {2204#false} is VALID [2018-11-23 12:30:30,438 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 63 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:30:30,465 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:30:30,466 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2018-11-23 12:30:30,466 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 52 [2018-11-23 12:30:30,466 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:30:30,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:30:30,550 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:30,550 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:30:30,550 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:30:30,551 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:30:30,551 INFO L87 Difference]: Start difference. First operand 31 states and 34 transitions. Second operand 8 states. [2018-11-23 12:30:31,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:31,030 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2018-11-23 12:30:31,030 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:30:31,030 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 52 [2018-11-23 12:30:31,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:30:31,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:30:31,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 55 transitions. [2018-11-23 12:30:31,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:30:31,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 55 transitions. [2018-11-23 12:30:31,034 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 55 transitions. [2018-11-23 12:30:31,096 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:30:31,097 INFO L225 Difference]: With dead ends: 57 [2018-11-23 12:30:31,098 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 12:30:31,098 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:30:31,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 12:30:31,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-11-23 12:30:31,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:30:31,134 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 33 states. [2018-11-23 12:30:31,134 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 33 states. [2018-11-23 12:30:31,135 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 33 states. [2018-11-23 12:30:31,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:31,137 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 12:30:31,138 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2018-11-23 12:30:31,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:31,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:31,138 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 40 states. [2018-11-23 12:30:31,139 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 40 states. [2018-11-23 12:30:31,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:30:31,140 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2018-11-23 12:30:31,141 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2018-11-23 12:30:31,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:30:31,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:30:31,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:30:31,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:30:31,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:30:31,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-23 12:30:31,143 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 52 [2018-11-23 12:30:31,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:30:31,143 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-23 12:30:31,143 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:30:31,144 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-23 12:30:31,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:30:31,144 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:30:31,144 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:30:31,145 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:30:31,145 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:30:31,145 INFO L82 PathProgramCache]: Analyzing trace with hash 2056327920, now seen corresponding path program 5 times [2018-11-23 12:30:31,145 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:30:31,145 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:30:31,146 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:31,146 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:30:31,146 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:30:31,156 ERROR L235 seRefinementStrategy]: Caught known exception: Unsupported non-linear arithmetic [2018-11-23 12:30:31,157 INFO L258 seRefinementStrategy]: Advancing trace checker [2018-11-23 12:30:31,157 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2018-11-23 12:30:31,169 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:30:31,281 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2018-11-23 12:30:31,282 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:30:31,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:30:31,379 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:30:32,546 WARN L180 SmtUtils]: Spent 244.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 51 [2018-11-23 12:30:32,794 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 148 treesize of output 117 [2018-11-23 12:30:32,924 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:32,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:32,972 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:33,089 INFO L303 Elim1Store]: Index analysis took 201 ms [2018-11-23 12:30:33,121 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 103 treesize of output 115 [2018-11-23 12:30:33,151 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:33,152 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:33,153 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:33,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 95 treesize of output 104 [2018-11-23 12:30:33,174 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:33,200 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:33,232 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:34,125 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 95 treesize of output 76 [2018-11-23 12:30:34,133 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,135 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,144 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 78 [2018-11-23 12:30:34,154 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,156 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,157 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:34,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 58 treesize of output 71 [2018-11-23 12:30:34,174 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:34,191 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:34,213 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:35,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 121 treesize of output 96 [2018-11-23 12:30:35,137 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,137 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,138 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 96 [2018-11-23 12:30:35,162 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,163 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,164 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:35,179 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 76 treesize of output 87 [2018-11-23 12:30:35,185 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:35,209 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:35,241 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,114 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 113 treesize of output 88 [2018-11-23 12:30:36,131 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,132 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,134 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 93 [2018-11-23 12:30:36,163 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,164 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,166 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,178 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 73 treesize of output 84 [2018-11-23 12:30:36,185 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,205 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,229 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,718 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 93 treesize of output 74 [2018-11-23 12:30:36,728 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,740 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,741 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,751 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 76 [2018-11-23 12:30:36,761 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,762 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,764 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:36,773 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 56 treesize of output 69 [2018-11-23 12:30:36,777 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,795 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:36,812 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:37,236 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 115 treesize of output 90 [2018-11-23 12:30:37,264 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,266 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,268 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 95 [2018-11-23 12:30:37,294 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,296 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,299 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:37,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 75 treesize of output 86 [2018-11-23 12:30:37,320 INFO L267 ElimStorePlain]: Start of recursive call 19: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:37,348 INFO L267 ElimStorePlain]: Start of recursive call 18: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:37,378 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:30:37,635 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-2 vars, End of recursive call: and 6 xjuncts. [2018-11-23 12:30:37,635 INFO L202 ElimStorePlain]: Needed 19 recursive calls to eliminate 6 variables, input treesize:779, output treesize:525 [2018-11-23 12:30:40,416 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:30:40,416 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_101, v_prenex_102, v_prenex_100, v_prenex_103, |v_#memory_int_15|, v_prenex_104]. (let ((.cse4 (+ main_~ret~1 4294967296)) (.cse6 (<= ~N~0 3)) (.cse7 (= |main_~#x~0.offset| 0)) (.cse8 (< 2 ~N~0)) (.cse10 (<= 0 (+ main_~ret~1 2147483648))) (.cse11 (+ |main_~#x~0.offset| 8)) (.cse2 (+ |main_~#x~0.offset| 4))) (or (let ((.cse0 (select v_prenex_101 |main_~#x~0.base|))) (let ((.cse3 (select .cse0 |main_~#x~0.offset|)) (.cse1 (select .cse0 .cse2))) (let ((.cse9 (+ (select .cse0 .cse11) .cse3 .cse1 3))) (let ((.cse5 (mod (+ (div .cse9 ~N~0) 1) 4294967296))) (and (= (store v_prenex_101 |main_~#x~0.base| (store (store .cse0 |main_~#x~0.offset| .cse1) .cse2 .cse3)) |#memory_int|) (= .cse4 .cse5) .cse6 .cse7 .cse8 (< .cse9 0) (not (= (mod .cse9 ~N~0) 0)) (< 2147483647 .cse5) .cse10))))) (let ((.cse13 (select v_prenex_102 |main_~#x~0.base|))) (let ((.cse15 (select .cse13 |main_~#x~0.offset|)) (.cse14 (select .cse13 .cse2))) (let ((.cse16 (+ (select .cse13 .cse11) .cse15 .cse14 3))) (let ((.cse12 (mod (div .cse16 ~N~0) 4294967296))) (and (= .cse12 main_~ret~1) (= (store v_prenex_102 |main_~#x~0.base| (store (store .cse13 |main_~#x~0.offset| .cse14) .cse2 .cse15)) |#memory_int|) .cse6 (<= 0 .cse16) .cse7 .cse8 (<= .cse12 2147483647) .cse10))))) (let ((.cse18 (select v_prenex_100 |main_~#x~0.base|))) (let ((.cse20 (select .cse18 |main_~#x~0.offset|)) (.cse19 (select .cse18 .cse2))) (let ((.cse21 (+ (select .cse18 .cse11) .cse20 .cse19 3))) (let ((.cse17 (mod (div .cse21 ~N~0) 4294967296))) (and (= .cse17 .cse4) (< 2147483647 .cse17) .cse6 .cse7 (= (store v_prenex_100 |main_~#x~0.base| (store (store .cse18 |main_~#x~0.offset| .cse19) .cse2 .cse20)) |#memory_int|) .cse8 (= (mod .cse21 ~N~0) 0) .cse10))))) (let ((.cse22 (select v_prenex_103 |main_~#x~0.base|))) (let ((.cse24 (select .cse22 |main_~#x~0.offset|)) (.cse23 (select .cse22 .cse2))) (let ((.cse25 (+ (select .cse22 .cse11) .cse24 .cse23 3))) (let ((.cse26 (mod (div .cse25 ~N~0) 4294967296))) (and (= (store v_prenex_103 |main_~#x~0.base| (store (store .cse22 |main_~#x~0.offset| .cse23) .cse2 .cse24)) |#memory_int|) (<= 0 .cse25) (< 2147483647 .cse26) .cse6 .cse7 .cse8 (= .cse26 .cse4) .cse10))))) (let ((.cse27 (select |v_#memory_int_15| |main_~#x~0.base|))) (let ((.cse29 (select .cse27 |main_~#x~0.offset|)) (.cse28 (select .cse27 .cse2))) (let ((.cse31 (+ (select .cse27 .cse11) .cse29 .cse28 3))) (let ((.cse30 (mod (+ (div .cse31 ~N~0) 1) 4294967296))) (and (= (store |v_#memory_int_15| |main_~#x~0.base| (store (store .cse27 |main_~#x~0.offset| .cse28) .cse2 .cse29)) |#memory_int|) .cse6 (<= .cse30 2147483647) .cse7 (= main_~ret~1 .cse30) .cse8 (not (= (mod .cse31 ~N~0) 0)) (< .cse31 0) .cse10))))) (let ((.cse34 (select v_prenex_104 |main_~#x~0.base|))) (let ((.cse36 (select .cse34 |main_~#x~0.offset|)) (.cse35 (select .cse34 .cse2))) (let ((.cse32 (+ (select .cse34 .cse11) .cse36 .cse35 3))) (let ((.cse33 (mod (div .cse32 ~N~0) 4294967296))) (and (= (mod .cse32 ~N~0) 0) (= .cse33 main_~ret~1) (<= .cse33 2147483647) .cse6 (= (store v_prenex_104 |main_~#x~0.base| (store (store .cse34 |main_~#x~0.offset| .cse35) .cse2 .cse36)) |#memory_int|) .cse7 .cse8 .cse10))))))) [2018-11-23 12:30:40,417 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse14 (let ((.cse16 (select |#memory_int| |main_~#x~0.base|))) (+ (select .cse16 |main_~#x~0.offset|) (select .cse16 (+ |main_~#x~0.offset| 8)) (select .cse16 (+ |main_~#x~0.offset| 4)) 3)))) (let ((.cse13 (div .cse14 ~N~0))) (let ((.cse11 (= (mod .cse14 ~N~0) 0)) (.cse12 (+ main_~ret~1 4294967296)) (.cse15 (mod .cse13 4294967296))) (let ((.cse4 (<= 0 .cse14)) (.cse6 (= .cse12 .cse15)) (.cse0 (= .cse15 main_~ret~1)) (.cse5 (<= .cse15 2147483647)) (.cse8 (< .cse14 0)) (.cse10 (not .cse11)) (.cse1 (<= ~N~0 3)) (.cse2 (= |main_~#x~0.offset| 0)) (.cse3 (< 2 ~N~0)) (.cse7 (<= 0 (+ main_~ret~1 2147483648))) (.cse9 (mod (+ .cse13 1) 4294967296))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (and .cse1 .cse2 .cse3 .cse6 .cse7 .cse4) (and .cse8 (<= .cse9 2147483647) .cse10 .cse1 .cse2 .cse3 (= .cse9 main_~ret~1)) (and .cse11 .cse1 .cse2 .cse3 .cse6 .cse7) (and .cse11 .cse0 .cse1 .cse2 .cse3 .cse5) (and .cse8 .cse10 .cse1 .cse2 .cse3 .cse7 (= .cse9 .cse12))))))) [2018-11-23 12:30:40,747 WARN L180 SmtUtils]: Spent 271.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 12:30:41,801 WARN L180 SmtUtils]: Spent 470.00 ms on a formula simplification. DAG size of input: 68 DAG size of output: 68 [2018-11-23 12:30:42,142 WARN L180 SmtUtils]: Spent 230.00 ms on a formula simplification that was a NOOP. DAG size: 72 [2018-11-23 12:30:42,380 WARN L307 Elim1Store]: Array PQE input equivalent to false [2018-11-23 12:30:42,382 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:53,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 150 treesize of output 119 [2018-11-23 12:30:53,324 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,325 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,326 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,328 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,328 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:30:53,329 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,331 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:30:53,331 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 12:30:53,344 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 107 treesize of output 191 [2018-11-23 12:30:53,350 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 12:30:53,395 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts.