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/reducercommutativity/avg20_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:14:32,896 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:14:32,898 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:14:32,917 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:14:32,917 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:14:32,919 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:14:32,921 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:14:32,923 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:14:32,927 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:14:32,929 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:14:32,931 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:14:32,934 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:14:32,935 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:14:32,936 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:14:32,937 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:14:32,938 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:14:32,939 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:14:32,941 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:14:32,944 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:14:32,945 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:14:32,946 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:14:32,948 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:14:32,950 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:14:32,951 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:14:32,951 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:14:32,952 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:14:32,953 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:14:32,954 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:14:32,955 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:14:32,956 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:14:32,956 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:14:32,957 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:14:32,957 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:14:32,958 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:14:32,959 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:14:32,960 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:14:32,960 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:14:32,976 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:14:32,977 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:14:32,979 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:14:32,980 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:14:32,980 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:14:32,980 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:14:32,982 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:14:32,982 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:14:32,982 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:14:32,983 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:14:32,983 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:14:32,983 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:14:32,983 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:14:32,984 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:14:32,984 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:14:32,984 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:14:32,984 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:14:32,985 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:14:32,985 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:14:32,985 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:14:32,985 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:14:32,985 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:14:32,986 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:14:32,986 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:14:32,986 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:14:32,986 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:14:32,986 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:14:32,988 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:14:32,988 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:14:32,988 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:14:32,989 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:14:33,056 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:14:33,069 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:14:33,073 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:14:33,075 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:14:33,075 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:14:33,076 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/avg20_true-unreach-call.i [2018-11-23 12:14:33,147 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd39be1b9/feac2e44b59f4a94861c2a305b7e3cbd/FLAGd5addaef4 [2018-11-23 12:14:33,677 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:14:33,678 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/avg20_true-unreach-call.i [2018-11-23 12:14:33,685 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd39be1b9/feac2e44b59f4a94861c2a305b7e3cbd/FLAGd5addaef4 [2018-11-23 12:14:34,017 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dd39be1b9/feac2e44b59f4a94861c2a305b7e3cbd [2018-11-23 12:14:34,027 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:14:34,028 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:14:34,029 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:14:34,030 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:14:34,034 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:14:34,036 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,039 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e75a9ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34, skipping insertion in model container [2018-11-23 12:14:34,039 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,051 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:14:34,075 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:14:34,373 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:14:34,392 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:14:34,431 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:14:34,459 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:14:34,459 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34 WrapperNode [2018-11-23 12:14:34,460 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:14:34,461 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:14:34,461 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:14:34,461 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:14:34,471 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:14:34" (1/1) ... [2018-11-23 12:14:34,483 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:14:34" (1/1) ... [2018-11-23 12:14:34,494 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:14:34,495 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:14:34,495 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:14:34,495 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:14:34,505 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,505 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,507 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,508 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,520 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,527 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,529 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (1/1) ... [2018-11-23 12:14:34,532 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:14:34,532 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:14:34,533 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:14:34,533 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:14:34,534 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (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:14:34,672 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:14:34,672 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:14:34,672 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:14:34,672 INFO L130 BoogieDeclarations]: Found specification of procedure avg [2018-11-23 12:14:34,673 INFO L138 BoogieDeclarations]: Found implementation of procedure avg [2018-11-23 12:14:34,673 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:14:34,673 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:14:34,673 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:14:34,673 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:14:34,673 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:14:34,674 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:14:34,674 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:14:35,480 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:14:35,481 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:14:35,481 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:14:35 BoogieIcfgContainer [2018-11-23 12:14:35,481 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:14:35,484 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:14:35,484 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:14:35,488 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:14:35,489 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:14:34" (1/3) ... [2018-11-23 12:14:35,490 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1c25ee1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:14:35, skipping insertion in model container [2018-11-23 12:14:35,490 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:34" (2/3) ... [2018-11-23 12:14:35,491 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1c25ee1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:14:35, skipping insertion in model container [2018-11-23 12:14:35,491 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:14:35" (3/3) ... [2018-11-23 12:14:35,493 INFO L112 eAbstractionObserver]: Analyzing ICFG avg20_true-unreach-call.i [2018-11-23 12:14:35,504 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:14:35,511 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:14:35,530 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:14:35,565 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:14:35,566 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:14:35,566 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:14:35,566 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:14:35,567 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:14:35,567 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:14:35,567 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:14:35,567 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:14:35,568 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:14:35,586 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 12:14:35,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:14:35,594 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:35,595 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:14:35,598 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:35,603 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:35,604 INFO L82 PathProgramCache]: Analyzing trace with hash -1283808693, now seen corresponding path program 1 times [2018-11-23 12:14:35,605 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:35,606 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:35,664 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:35,664 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:35,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:35,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:35,805 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 12:14:35,810 INFO L273 TraceCheckUtils]: 1: Hoare triple {34#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34#true} is VALID [2018-11-23 12:14:35,811 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:35,812 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #66#return; {34#true} is VALID [2018-11-23 12:14:35,812 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret12 := main(); {34#true} is VALID [2018-11-23 12:14:35,812 INFO L273 TraceCheckUtils]: 5: Hoare triple {34#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34#true} is VALID [2018-11-23 12:14:35,814 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2018-11-23 12:14:35,814 INFO L256 TraceCheckUtils]: 7: Hoare triple {35#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:14:35,814 INFO L273 TraceCheckUtils]: 8: Hoare triple {34#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34#true} is VALID [2018-11-23 12:14:35,815 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#true} assume !(~i~0 < 20); {34#true} is VALID [2018-11-23 12:14:35,815 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:35,815 INFO L273 TraceCheckUtils]: 11: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:35,816 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {34#true} {35#false} #70#return; {35#false} is VALID [2018-11-23 12:14:35,816 INFO L273 TraceCheckUtils]: 13: Hoare triple {35#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {35#false} is VALID [2018-11-23 12:14:35,816 INFO L256 TraceCheckUtils]: 14: Hoare triple {35#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:14:35,817 INFO L273 TraceCheckUtils]: 15: Hoare triple {34#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34#true} is VALID [2018-11-23 12:14:35,817 INFO L273 TraceCheckUtils]: 16: Hoare triple {34#true} assume !(~i~0 < 20); {34#true} is VALID [2018-11-23 12:14:35,818 INFO L273 TraceCheckUtils]: 17: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:35,818 INFO L273 TraceCheckUtils]: 18: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:35,818 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {34#true} {35#false} #72#return; {35#false} is VALID [2018-11-23 12:14:35,819 INFO L273 TraceCheckUtils]: 20: Hoare triple {35#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {35#false} is VALID [2018-11-23 12:14:35,819 INFO L273 TraceCheckUtils]: 21: Hoare triple {35#false} assume !true; {35#false} is VALID [2018-11-23 12:14:35,820 INFO L273 TraceCheckUtils]: 22: Hoare triple {35#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {35#false} is VALID [2018-11-23 12:14:35,820 INFO L256 TraceCheckUtils]: 23: Hoare triple {35#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:14:35,820 INFO L273 TraceCheckUtils]: 24: Hoare triple {34#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34#true} is VALID [2018-11-23 12:14:35,821 INFO L273 TraceCheckUtils]: 25: Hoare triple {34#true} assume !(~i~0 < 20); {34#true} is VALID [2018-11-23 12:14:35,821 INFO L273 TraceCheckUtils]: 26: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:35,821 INFO L273 TraceCheckUtils]: 27: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:35,822 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {34#true} {35#false} #74#return; {35#false} is VALID [2018-11-23 12:14:35,822 INFO L273 TraceCheckUtils]: 29: Hoare triple {35#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {35#false} is VALID [2018-11-23 12:14:35,822 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:14:35,823 INFO L273 TraceCheckUtils]: 31: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 12:14:35,829 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:14:35,832 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:35,833 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:14:35,838 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:14:35,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:35,845 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:14:36,115 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:36,116 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:14:36,124 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:14:36,124 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:14:36,126 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 2 states. [2018-11-23 12:14:36,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:36,269 INFO L93 Difference]: Finished difference Result 54 states and 71 transitions. [2018-11-23 12:14:36,269 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:14:36,269 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:14:36,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:36,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:14:36,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:14:36,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:14:36,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:14:36,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2018-11-23 12:14:36,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:36,581 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:14:36,581 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:14:36,585 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:14:36,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:14:36,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2018-11-23 12:14:36,637 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:36,637 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:36,638 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:36,638 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:36,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:36,645 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:14:36,645 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:36,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:36,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:36,646 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:36,647 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:36,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:36,652 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:14:36,652 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:36,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:36,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:36,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:36,654 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:36,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:14:36,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 30 transitions. [2018-11-23 12:14:36,660 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 30 transitions. Word has length 32 [2018-11-23 12:14:36,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:36,660 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 30 transitions. [2018-11-23 12:14:36,660 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:14:36,661 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:36,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:14:36,662 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:36,663 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:14:36,663 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:36,663 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:36,664 INFO L82 PathProgramCache]: Analyzing trace with hash 721846027, now seen corresponding path program 1 times [2018-11-23 12:14:36,664 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:36,664 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:36,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:36,666 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:36,666 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:36,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:36,770 INFO L256 TraceCheckUtils]: 0: Hoare triple {198#true} call ULTIMATE.init(); {198#true} is VALID [2018-11-23 12:14:36,771 INFO L273 TraceCheckUtils]: 1: Hoare triple {198#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {198#true} is VALID [2018-11-23 12:14:36,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:36,771 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {198#true} {198#true} #66#return; {198#true} is VALID [2018-11-23 12:14:36,771 INFO L256 TraceCheckUtils]: 4: Hoare triple {198#true} call #t~ret12 := main(); {198#true} is VALID [2018-11-23 12:14:36,781 INFO L273 TraceCheckUtils]: 5: Hoare triple {198#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {200#(= main_~i~1 0)} is VALID [2018-11-23 12:14:36,783 INFO L273 TraceCheckUtils]: 6: Hoare triple {200#(= main_~i~1 0)} assume !(~i~1 < 20); {199#false} is VALID [2018-11-23 12:14:36,783 INFO L256 TraceCheckUtils]: 7: Hoare triple {199#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:14:36,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {198#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {198#true} is VALID [2018-11-23 12:14:36,783 INFO L273 TraceCheckUtils]: 9: Hoare triple {198#true} assume !(~i~0 < 20); {198#true} is VALID [2018-11-23 12:14:36,784 INFO L273 TraceCheckUtils]: 10: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:36,784 INFO L273 TraceCheckUtils]: 11: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:36,784 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {198#true} {199#false} #70#return; {199#false} is VALID [2018-11-23 12:14:36,784 INFO L273 TraceCheckUtils]: 13: Hoare triple {199#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {199#false} is VALID [2018-11-23 12:14:36,785 INFO L256 TraceCheckUtils]: 14: Hoare triple {199#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:14:36,785 INFO L273 TraceCheckUtils]: 15: Hoare triple {198#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {198#true} is VALID [2018-11-23 12:14:36,785 INFO L273 TraceCheckUtils]: 16: Hoare triple {198#true} assume !(~i~0 < 20); {198#true} is VALID [2018-11-23 12:14:36,785 INFO L273 TraceCheckUtils]: 17: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:36,786 INFO L273 TraceCheckUtils]: 18: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:36,786 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {198#true} {199#false} #72#return; {199#false} is VALID [2018-11-23 12:14:36,786 INFO L273 TraceCheckUtils]: 20: Hoare triple {199#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {199#false} is VALID [2018-11-23 12:14:36,787 INFO L273 TraceCheckUtils]: 21: Hoare triple {199#false} assume !(~i~2 < 19); {199#false} is VALID [2018-11-23 12:14:36,787 INFO L273 TraceCheckUtils]: 22: Hoare triple {199#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {199#false} is VALID [2018-11-23 12:14:36,787 INFO L256 TraceCheckUtils]: 23: Hoare triple {199#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:14:36,788 INFO L273 TraceCheckUtils]: 24: Hoare triple {198#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {198#true} is VALID [2018-11-23 12:14:36,788 INFO L273 TraceCheckUtils]: 25: Hoare triple {198#true} assume !(~i~0 < 20); {198#true} is VALID [2018-11-23 12:14:36,788 INFO L273 TraceCheckUtils]: 26: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:36,789 INFO L273 TraceCheckUtils]: 27: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:36,789 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {198#true} {199#false} #74#return; {199#false} is VALID [2018-11-23 12:14:36,789 INFO L273 TraceCheckUtils]: 29: Hoare triple {199#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {199#false} is VALID [2018-11-23 12:14:36,790 INFO L273 TraceCheckUtils]: 30: Hoare triple {199#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {199#false} is VALID [2018-11-23 12:14:36,790 INFO L273 TraceCheckUtils]: 31: Hoare triple {199#false} assume !false; {199#false} is VALID [2018-11-23 12:14:36,792 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 12:14:36,793 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:36,793 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:14:36,795 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:14:36,795 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:36,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:14:36,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:36,853 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:14:36,853 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:14:36,854 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:36,854 INFO L87 Difference]: Start difference. First operand 26 states and 30 transitions. Second operand 3 states. [2018-11-23 12:14:37,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:37,513 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-23 12:14:37,513 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:37,513 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:14:37,515 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:37,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:37,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:14:37,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:37,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:14:37,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-23 12:14:37,663 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:37,665 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:14:37,666 INFO L226 Difference]: Without dead ends: 28 [2018-11-23 12:14:37,667 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:37,668 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-23 12:14:37,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2018-11-23 12:14:37,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:37,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:37,693 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:37,693 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:37,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:37,702 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:14:37,703 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:37,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:37,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:37,705 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 28 states. [2018-11-23 12:14:37,705 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 28 states. [2018-11-23 12:14:37,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:37,712 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:14:37,712 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:37,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:37,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:37,713 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:37,713 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:37,714 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:14:37,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2018-11-23 12:14:37,717 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 32 [2018-11-23 12:14:37,717 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:37,717 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2018-11-23 12:14:37,717 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:14:37,718 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 12:14:37,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:14:37,722 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:37,722 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, 1, 1] [2018-11-23 12:14:37,722 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:37,723 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:37,723 INFO L82 PathProgramCache]: Analyzing trace with hash 1487444845, now seen corresponding path program 1 times [2018-11-23 12:14:37,723 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:37,723 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:37,724 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:37,725 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:37,725 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:37,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:37,853 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:14:37,854 INFO L273 TraceCheckUtils]: 1: Hoare triple {362#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {362#true} is VALID [2018-11-23 12:14:37,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:37,855 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:14:37,855 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:14:37,855 INFO L273 TraceCheckUtils]: 5: Hoare triple {362#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {362#true} is VALID [2018-11-23 12:14:37,856 INFO L273 TraceCheckUtils]: 6: Hoare triple {362#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {362#true} is VALID [2018-11-23 12:14:37,856 INFO L273 TraceCheckUtils]: 7: Hoare triple {362#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {362#true} is VALID [2018-11-23 12:14:37,857 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 20); {362#true} is VALID [2018-11-23 12:14:37,857 INFO L256 TraceCheckUtils]: 9: Hoare triple {362#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:14:37,865 INFO L273 TraceCheckUtils]: 10: Hoare triple {362#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {364#(= avg_~i~0 0)} is VALID [2018-11-23 12:14:37,866 INFO L273 TraceCheckUtils]: 11: Hoare triple {364#(= avg_~i~0 0)} assume !(~i~0 < 20); {363#false} is VALID [2018-11-23 12:14:37,866 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:37,866 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:37,867 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:14:37,867 INFO L273 TraceCheckUtils]: 15: Hoare triple {363#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:37,867 INFO L256 TraceCheckUtils]: 16: Hoare triple {363#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:14:37,868 INFO L273 TraceCheckUtils]: 17: Hoare triple {362#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {362#true} is VALID [2018-11-23 12:14:37,868 INFO L273 TraceCheckUtils]: 18: Hoare triple {362#true} assume !(~i~0 < 20); {362#true} is VALID [2018-11-23 12:14:37,868 INFO L273 TraceCheckUtils]: 19: Hoare triple {362#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:14:37,869 INFO L273 TraceCheckUtils]: 20: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:37,869 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {362#true} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:14:37,869 INFO L273 TraceCheckUtils]: 22: Hoare triple {363#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {363#false} is VALID [2018-11-23 12:14:37,870 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 19); {363#false} is VALID [2018-11-23 12:14:37,870 INFO L273 TraceCheckUtils]: 24: Hoare triple {363#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:37,870 INFO L256 TraceCheckUtils]: 25: Hoare triple {363#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:14:37,871 INFO L273 TraceCheckUtils]: 26: Hoare triple {362#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {362#true} is VALID [2018-11-23 12:14:37,871 INFO L273 TraceCheckUtils]: 27: Hoare triple {362#true} assume !(~i~0 < 20); {362#true} is VALID [2018-11-23 12:14:37,871 INFO L273 TraceCheckUtils]: 28: Hoare triple {362#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:14:37,872 INFO L273 TraceCheckUtils]: 29: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:37,872 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {362#true} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:14:37,872 INFO L273 TraceCheckUtils]: 31: Hoare triple {363#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {363#false} is VALID [2018-11-23 12:14:37,873 INFO L273 TraceCheckUtils]: 32: Hoare triple {363#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {363#false} is VALID [2018-11-23 12:14:37,873 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:14:37,876 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2018-11-23 12:14:37,876 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:37,876 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:37,894 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:37,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:37,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:37,965 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:38,130 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:14:38,130 INFO L273 TraceCheckUtils]: 1: Hoare triple {362#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {362#true} is VALID [2018-11-23 12:14:38,131 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:38,131 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:14:38,131 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:14:38,132 INFO L273 TraceCheckUtils]: 5: Hoare triple {362#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {362#true} is VALID [2018-11-23 12:14:38,132 INFO L273 TraceCheckUtils]: 6: Hoare triple {362#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {362#true} is VALID [2018-11-23 12:14:38,132 INFO L273 TraceCheckUtils]: 7: Hoare triple {362#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {362#true} is VALID [2018-11-23 12:14:38,133 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 20); {362#true} is VALID [2018-11-23 12:14:38,133 INFO L256 TraceCheckUtils]: 9: Hoare triple {362#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:14:38,137 INFO L273 TraceCheckUtils]: 10: Hoare triple {362#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {398#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:38,140 INFO L273 TraceCheckUtils]: 11: Hoare triple {398#(<= avg_~i~0 0)} assume !(~i~0 < 20); {363#false} is VALID [2018-11-23 12:14:38,140 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:38,141 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:38,141 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:14:38,141 INFO L273 TraceCheckUtils]: 15: Hoare triple {363#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:38,141 INFO L256 TraceCheckUtils]: 16: Hoare triple {363#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {363#false} is VALID [2018-11-23 12:14:38,142 INFO L273 TraceCheckUtils]: 17: Hoare triple {363#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {363#false} is VALID [2018-11-23 12:14:38,142 INFO L273 TraceCheckUtils]: 18: Hoare triple {363#false} assume !(~i~0 < 20); {363#false} is VALID [2018-11-23 12:14:38,142 INFO L273 TraceCheckUtils]: 19: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:38,142 INFO L273 TraceCheckUtils]: 20: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:38,143 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {363#false} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:14:38,143 INFO L273 TraceCheckUtils]: 22: Hoare triple {363#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {363#false} is VALID [2018-11-23 12:14:38,143 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 19); {363#false} is VALID [2018-11-23 12:14:38,143 INFO L273 TraceCheckUtils]: 24: Hoare triple {363#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:38,144 INFO L256 TraceCheckUtils]: 25: Hoare triple {363#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {363#false} is VALID [2018-11-23 12:14:38,144 INFO L273 TraceCheckUtils]: 26: Hoare triple {363#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {363#false} is VALID [2018-11-23 12:14:38,144 INFO L273 TraceCheckUtils]: 27: Hoare triple {363#false} assume !(~i~0 < 20); {363#false} is VALID [2018-11-23 12:14:38,145 INFO L273 TraceCheckUtils]: 28: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:38,145 INFO L273 TraceCheckUtils]: 29: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:38,146 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {363#false} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:14:38,146 INFO L273 TraceCheckUtils]: 31: Hoare triple {363#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {363#false} is VALID [2018-11-23 12:14:38,146 INFO L273 TraceCheckUtils]: 32: Hoare triple {363#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {363#false} is VALID [2018-11-23 12:14:38,146 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:14:38,149 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:14:38,179 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:14:38,179 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 12:14:38,179 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:14:38,182 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:38,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:14:38,317 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:38,317 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:14:38,318 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:14:38,318 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:14:38,318 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand 4 states. [2018-11-23 12:14:38,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:38,597 INFO L93 Difference]: Finished difference Result 46 states and 56 transitions. [2018-11-23 12:14:38,597 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:38,598 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:14:38,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:38,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:14:38,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:14:38,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:14:38,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:14:38,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 55 transitions. [2018-11-23 12:14:38,775 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:14:38,777 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:14:38,777 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:14:38,778 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 34 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:14:38,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:14:38,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:14:38,800 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:38,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:38,800 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:38,801 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:38,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:38,805 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:14:38,805 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:38,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:38,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:38,806 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:14:38,806 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:14:38,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:38,810 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:14:38,810 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:38,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:38,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:38,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:38,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:38,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:14:38,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2018-11-23 12:14:38,814 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 34 [2018-11-23 12:14:38,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:38,814 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2018-11-23 12:14:38,814 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:14:38,815 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:38,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:14:38,816 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:38,816 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, 1, 1] [2018-11-23 12:14:38,817 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:38,817 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:38,817 INFO L82 PathProgramCache]: Analyzing trace with hash 2063023467, now seen corresponding path program 1 times [2018-11-23 12:14:38,817 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:38,817 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:38,818 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:38,819 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:38,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:38,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:38,944 INFO L256 TraceCheckUtils]: 0: Hoare triple {630#true} call ULTIMATE.init(); {630#true} is VALID [2018-11-23 12:14:38,944 INFO L273 TraceCheckUtils]: 1: Hoare triple {630#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {630#true} is VALID [2018-11-23 12:14:38,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:38,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {630#true} {630#true} #66#return; {630#true} is VALID [2018-11-23 12:14:38,945 INFO L256 TraceCheckUtils]: 4: Hoare triple {630#true} call #t~ret12 := main(); {630#true} is VALID [2018-11-23 12:14:38,945 INFO L273 TraceCheckUtils]: 5: Hoare triple {630#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {630#true} is VALID [2018-11-23 12:14:38,946 INFO L273 TraceCheckUtils]: 6: Hoare triple {630#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {630#true} is VALID [2018-11-23 12:14:38,946 INFO L273 TraceCheckUtils]: 7: Hoare triple {630#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {630#true} is VALID [2018-11-23 12:14:38,946 INFO L273 TraceCheckUtils]: 8: Hoare triple {630#true} assume !(~i~1 < 20); {630#true} is VALID [2018-11-23 12:14:38,946 INFO L256 TraceCheckUtils]: 9: Hoare triple {630#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:14:38,946 INFO L273 TraceCheckUtils]: 10: Hoare triple {630#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {630#true} is VALID [2018-11-23 12:14:38,947 INFO L273 TraceCheckUtils]: 11: Hoare triple {630#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {630#true} is VALID [2018-11-23 12:14:38,947 INFO L273 TraceCheckUtils]: 12: Hoare triple {630#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {630#true} is VALID [2018-11-23 12:14:38,947 INFO L273 TraceCheckUtils]: 13: Hoare triple {630#true} assume !(~i~0 < 20); {630#true} is VALID [2018-11-23 12:14:38,948 INFO L273 TraceCheckUtils]: 14: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:38,948 INFO L273 TraceCheckUtils]: 15: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:38,948 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {630#true} {630#true} #70#return; {630#true} is VALID [2018-11-23 12:14:38,949 INFO L273 TraceCheckUtils]: 17: Hoare triple {630#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {630#true} is VALID [2018-11-23 12:14:38,949 INFO L256 TraceCheckUtils]: 18: Hoare triple {630#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:14:38,949 INFO L273 TraceCheckUtils]: 19: Hoare triple {630#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {630#true} is VALID [2018-11-23 12:14:38,949 INFO L273 TraceCheckUtils]: 20: Hoare triple {630#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {630#true} is VALID [2018-11-23 12:14:38,950 INFO L273 TraceCheckUtils]: 21: Hoare triple {630#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {630#true} is VALID [2018-11-23 12:14:38,950 INFO L273 TraceCheckUtils]: 22: Hoare triple {630#true} assume !(~i~0 < 20); {630#true} is VALID [2018-11-23 12:14:38,950 INFO L273 TraceCheckUtils]: 23: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:38,951 INFO L273 TraceCheckUtils]: 24: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:38,951 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {630#true} {630#true} #72#return; {630#true} is VALID [2018-11-23 12:14:38,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {630#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {632#(= main_~i~2 0)} is VALID [2018-11-23 12:14:38,958 INFO L273 TraceCheckUtils]: 27: Hoare triple {632#(= main_~i~2 0)} assume !(~i~2 < 19); {631#false} is VALID [2018-11-23 12:14:38,958 INFO L273 TraceCheckUtils]: 28: Hoare triple {631#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {631#false} is VALID [2018-11-23 12:14:38,958 INFO L256 TraceCheckUtils]: 29: Hoare triple {631#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:14:38,959 INFO L273 TraceCheckUtils]: 30: Hoare triple {630#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {630#true} is VALID [2018-11-23 12:14:38,959 INFO L273 TraceCheckUtils]: 31: Hoare triple {630#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {630#true} is VALID [2018-11-23 12:14:38,959 INFO L273 TraceCheckUtils]: 32: Hoare triple {630#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {630#true} is VALID [2018-11-23 12:14:38,959 INFO L273 TraceCheckUtils]: 33: Hoare triple {630#true} assume !(~i~0 < 20); {630#true} is VALID [2018-11-23 12:14:38,960 INFO L273 TraceCheckUtils]: 34: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:38,960 INFO L273 TraceCheckUtils]: 35: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:38,960 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {630#true} {631#false} #74#return; {631#false} is VALID [2018-11-23 12:14:38,960 INFO L273 TraceCheckUtils]: 37: Hoare triple {631#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {631#false} is VALID [2018-11-23 12:14:38,960 INFO L273 TraceCheckUtils]: 38: Hoare triple {631#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {631#false} is VALID [2018-11-23 12:14:38,961 INFO L273 TraceCheckUtils]: 39: Hoare triple {631#false} assume !false; {631#false} is VALID [2018-11-23 12:14:38,963 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:38,963 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:38,963 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:14:38,964 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:14:38,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:38,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:14:39,032 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:39,032 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:14:39,033 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:14:39,033 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:39,034 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand 3 states. [2018-11-23 12:14:39,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:39,129 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 12:14:39,129 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:39,129 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:14:39,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:39,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:39,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:14:39,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:39,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:14:39,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 45 transitions. [2018-11-23 12:14:39,238 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:39,241 INFO L225 Difference]: With dead ends: 43 [2018-11-23 12:14:39,241 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:14:39,242 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:39,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:14:39,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 12:14:39,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:39,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:39,262 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:39,262 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:39,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:39,265 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:14:39,266 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:14:39,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:39,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:39,267 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 12:14:39,267 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 12:14:39,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:39,269 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:14:39,270 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:14:39,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:39,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:39,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:39,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:39,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:14:39,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 12:14:39,273 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 40 [2018-11-23 12:14:39,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:39,274 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 12:14:39,274 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:14:39,274 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:39,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:14:39,275 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:39,275 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, 1, 1, 1, 1] [2018-11-23 12:14:39,276 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:39,276 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:39,276 INFO L82 PathProgramCache]: Analyzing trace with hash -1550668567, now seen corresponding path program 1 times [2018-11-23 12:14:39,276 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:39,277 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:39,278 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:39,278 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:39,278 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:39,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:39,459 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:14:39,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {799#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {799#true} is VALID [2018-11-23 12:14:39,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:39,460 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:14:39,460 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:14:39,461 INFO L273 TraceCheckUtils]: 5: Hoare triple {799#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {801#(= main_~i~1 0)} is VALID [2018-11-23 12:14:39,461 INFO L273 TraceCheckUtils]: 6: Hoare triple {801#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {801#(= main_~i~1 0)} is VALID [2018-11-23 12:14:39,463 INFO L273 TraceCheckUtils]: 7: Hoare triple {801#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {802#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:39,464 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 20); {800#false} is VALID [2018-11-23 12:14:39,464 INFO L256 TraceCheckUtils]: 9: Hoare triple {800#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:14:39,465 INFO L273 TraceCheckUtils]: 10: Hoare triple {799#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {799#true} is VALID [2018-11-23 12:14:39,465 INFO L273 TraceCheckUtils]: 11: Hoare triple {799#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {799#true} is VALID [2018-11-23 12:14:39,465 INFO L273 TraceCheckUtils]: 12: Hoare triple {799#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {799#true} is VALID [2018-11-23 12:14:39,466 INFO L273 TraceCheckUtils]: 13: Hoare triple {799#true} assume !(~i~0 < 20); {799#true} is VALID [2018-11-23 12:14:39,466 INFO L273 TraceCheckUtils]: 14: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:39,467 INFO L273 TraceCheckUtils]: 15: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:39,467 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {799#true} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:14:39,467 INFO L273 TraceCheckUtils]: 17: Hoare triple {800#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:39,468 INFO L256 TraceCheckUtils]: 18: Hoare triple {800#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:14:39,468 INFO L273 TraceCheckUtils]: 19: Hoare triple {799#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {799#true} is VALID [2018-11-23 12:14:39,469 INFO L273 TraceCheckUtils]: 20: Hoare triple {799#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {799#true} is VALID [2018-11-23 12:14:39,469 INFO L273 TraceCheckUtils]: 21: Hoare triple {799#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {799#true} is VALID [2018-11-23 12:14:39,470 INFO L273 TraceCheckUtils]: 22: Hoare triple {799#true} assume !(~i~0 < 20); {799#true} is VALID [2018-11-23 12:14:39,470 INFO L273 TraceCheckUtils]: 23: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:39,470 INFO L273 TraceCheckUtils]: 24: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:39,470 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {799#true} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:14:39,471 INFO L273 TraceCheckUtils]: 26: Hoare triple {800#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {800#false} is VALID [2018-11-23 12:14:39,471 INFO L273 TraceCheckUtils]: 27: Hoare triple {800#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {800#false} is VALID [2018-11-23 12:14:39,471 INFO L273 TraceCheckUtils]: 28: Hoare triple {800#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {800#false} is VALID [2018-11-23 12:14:39,472 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 19); {800#false} is VALID [2018-11-23 12:14:39,472 INFO L273 TraceCheckUtils]: 30: Hoare triple {800#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:39,472 INFO L256 TraceCheckUtils]: 31: Hoare triple {800#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:14:39,473 INFO L273 TraceCheckUtils]: 32: Hoare triple {799#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {799#true} is VALID [2018-11-23 12:14:39,473 INFO L273 TraceCheckUtils]: 33: Hoare triple {799#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {799#true} is VALID [2018-11-23 12:14:39,473 INFO L273 TraceCheckUtils]: 34: Hoare triple {799#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {799#true} is VALID [2018-11-23 12:14:39,473 INFO L273 TraceCheckUtils]: 35: Hoare triple {799#true} assume !(~i~0 < 20); {799#true} is VALID [2018-11-23 12:14:39,474 INFO L273 TraceCheckUtils]: 36: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:39,474 INFO L273 TraceCheckUtils]: 37: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:39,474 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {799#true} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:14:39,475 INFO L273 TraceCheckUtils]: 39: Hoare triple {800#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {800#false} is VALID [2018-11-23 12:14:39,475 INFO L273 TraceCheckUtils]: 40: Hoare triple {800#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {800#false} is VALID [2018-11-23 12:14:39,475 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:14:39,478 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:39,478 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:39,479 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:39,496 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:39,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:39,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:39,582 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:39,911 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:14:39,912 INFO L273 TraceCheckUtils]: 1: Hoare triple {799#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {799#true} is VALID [2018-11-23 12:14:39,912 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:39,912 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:14:39,913 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:14:39,914 INFO L273 TraceCheckUtils]: 5: Hoare triple {799#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {821#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:39,915 INFO L273 TraceCheckUtils]: 6: Hoare triple {821#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {821#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:39,916 INFO L273 TraceCheckUtils]: 7: Hoare triple {821#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {802#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:39,916 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 20); {800#false} is VALID [2018-11-23 12:14:39,916 INFO L256 TraceCheckUtils]: 9: Hoare triple {800#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:14:39,917 INFO L273 TraceCheckUtils]: 10: Hoare triple {800#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {800#false} is VALID [2018-11-23 12:14:39,917 INFO L273 TraceCheckUtils]: 11: Hoare triple {800#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {800#false} is VALID [2018-11-23 12:14:39,917 INFO L273 TraceCheckUtils]: 12: Hoare triple {800#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {800#false} is VALID [2018-11-23 12:14:39,917 INFO L273 TraceCheckUtils]: 13: Hoare triple {800#false} assume !(~i~0 < 20); {800#false} is VALID [2018-11-23 12:14:39,918 INFO L273 TraceCheckUtils]: 14: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:39,918 INFO L273 TraceCheckUtils]: 15: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:39,919 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {800#false} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:14:39,919 INFO L273 TraceCheckUtils]: 17: Hoare triple {800#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:39,920 INFO L256 TraceCheckUtils]: 18: Hoare triple {800#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:14:39,920 INFO L273 TraceCheckUtils]: 19: Hoare triple {800#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {800#false} is VALID [2018-11-23 12:14:39,920 INFO L273 TraceCheckUtils]: 20: Hoare triple {800#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {800#false} is VALID [2018-11-23 12:14:39,920 INFO L273 TraceCheckUtils]: 21: Hoare triple {800#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {800#false} is VALID [2018-11-23 12:14:39,921 INFO L273 TraceCheckUtils]: 22: Hoare triple {800#false} assume !(~i~0 < 20); {800#false} is VALID [2018-11-23 12:14:39,921 INFO L273 TraceCheckUtils]: 23: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:39,921 INFO L273 TraceCheckUtils]: 24: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:39,921 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {800#false} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:14:39,921 INFO L273 TraceCheckUtils]: 26: Hoare triple {800#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {800#false} is VALID [2018-11-23 12:14:39,922 INFO L273 TraceCheckUtils]: 27: Hoare triple {800#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {800#false} is VALID [2018-11-23 12:14:39,922 INFO L273 TraceCheckUtils]: 28: Hoare triple {800#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {800#false} is VALID [2018-11-23 12:14:39,922 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 19); {800#false} is VALID [2018-11-23 12:14:39,922 INFO L273 TraceCheckUtils]: 30: Hoare triple {800#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:39,922 INFO L256 TraceCheckUtils]: 31: Hoare triple {800#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:14:39,923 INFO L273 TraceCheckUtils]: 32: Hoare triple {800#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {800#false} is VALID [2018-11-23 12:14:39,923 INFO L273 TraceCheckUtils]: 33: Hoare triple {800#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {800#false} is VALID [2018-11-23 12:14:39,923 INFO L273 TraceCheckUtils]: 34: Hoare triple {800#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {800#false} is VALID [2018-11-23 12:14:39,923 INFO L273 TraceCheckUtils]: 35: Hoare triple {800#false} assume !(~i~0 < 20); {800#false} is VALID [2018-11-23 12:14:39,924 INFO L273 TraceCheckUtils]: 36: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:39,924 INFO L273 TraceCheckUtils]: 37: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:39,924 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {800#false} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:14:39,925 INFO L273 TraceCheckUtils]: 39: Hoare triple {800#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {800#false} is VALID [2018-11-23 12:14:39,925 INFO L273 TraceCheckUtils]: 40: Hoare triple {800#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {800#false} is VALID [2018-11-23 12:14:39,926 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:14:39,929 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:39,958 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:39,959 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:14:39,959 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:14:39,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:39,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:14:40,057 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:40,058 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:14:40,058 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:14:40,058 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:14:40,059 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 5 states. [2018-11-23 12:14:40,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:40,458 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-23 12:14:40,458 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:14:40,459 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:14:40,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:40,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:14:40,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:14:40,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:14:40,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:14:40,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-23 12:14:40,567 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:40,569 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:14:40,569 INFO L226 Difference]: Without dead ends: 32 [2018-11-23 12:14:40,570 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 42 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:14:40,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2018-11-23 12:14:40,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2018-11-23 12:14:40,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:40,629 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:40,629 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:40,629 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:40,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:40,632 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:14:40,633 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:14:40,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:40,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:40,634 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 32 states. [2018-11-23 12:14:40,634 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 32 states. [2018-11-23 12:14:40,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:40,641 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:14:40,642 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:14:40,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:40,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:40,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:40,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:40,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:14:40,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2018-11-23 12:14:40,648 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 42 [2018-11-23 12:14:40,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:40,649 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2018-11-23 12:14:40,649 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:14:40,649 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 12:14:40,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:14:40,655 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:40,655 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:14:40,655 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:40,656 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:40,656 INFO L82 PathProgramCache]: Analyzing trace with hash -1311885621, now seen corresponding path program 2 times [2018-11-23 12:14:40,656 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:40,656 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:40,657 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:40,657 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:40,658 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:40,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:40,824 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:14:40,824 INFO L273 TraceCheckUtils]: 1: Hoare triple {1114#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1114#true} is VALID [2018-11-23 12:14:40,825 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:40,825 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:14:40,826 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:14:40,831 INFO L273 TraceCheckUtils]: 5: Hoare triple {1114#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1116#(= main_~i~1 0)} is VALID [2018-11-23 12:14:40,833 INFO L273 TraceCheckUtils]: 6: Hoare triple {1116#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1116#(= main_~i~1 0)} is VALID [2018-11-23 12:14:40,834 INFO L273 TraceCheckUtils]: 7: Hoare triple {1116#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1117#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:40,835 INFO L273 TraceCheckUtils]: 8: Hoare triple {1117#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1117#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:40,835 INFO L273 TraceCheckUtils]: 9: Hoare triple {1117#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1118#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:40,836 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 20); {1115#false} is VALID [2018-11-23 12:14:40,837 INFO L256 TraceCheckUtils]: 11: Hoare triple {1115#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:14:40,837 INFO L273 TraceCheckUtils]: 12: Hoare triple {1114#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1114#true} is VALID [2018-11-23 12:14:40,838 INFO L273 TraceCheckUtils]: 13: Hoare triple {1114#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1114#true} is VALID [2018-11-23 12:14:40,838 INFO L273 TraceCheckUtils]: 14: Hoare triple {1114#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1114#true} is VALID [2018-11-23 12:14:40,838 INFO L273 TraceCheckUtils]: 15: Hoare triple {1114#true} assume !(~i~0 < 20); {1114#true} is VALID [2018-11-23 12:14:40,839 INFO L273 TraceCheckUtils]: 16: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:40,839 INFO L273 TraceCheckUtils]: 17: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:40,840 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1114#true} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:14:40,840 INFO L273 TraceCheckUtils]: 19: Hoare triple {1115#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:40,841 INFO L256 TraceCheckUtils]: 20: Hoare triple {1115#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:14:40,841 INFO L273 TraceCheckUtils]: 21: Hoare triple {1114#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1114#true} is VALID [2018-11-23 12:14:40,841 INFO L273 TraceCheckUtils]: 22: Hoare triple {1114#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1114#true} is VALID [2018-11-23 12:14:40,841 INFO L273 TraceCheckUtils]: 23: Hoare triple {1114#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1114#true} is VALID [2018-11-23 12:14:40,842 INFO L273 TraceCheckUtils]: 24: Hoare triple {1114#true} assume !(~i~0 < 20); {1114#true} is VALID [2018-11-23 12:14:40,842 INFO L273 TraceCheckUtils]: 25: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:40,842 INFO L273 TraceCheckUtils]: 26: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:40,842 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1114#true} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:14:40,843 INFO L273 TraceCheckUtils]: 28: Hoare triple {1115#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1115#false} is VALID [2018-11-23 12:14:40,843 INFO L273 TraceCheckUtils]: 29: Hoare triple {1115#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1115#false} is VALID [2018-11-23 12:14:40,843 INFO L273 TraceCheckUtils]: 30: Hoare triple {1115#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1115#false} is VALID [2018-11-23 12:14:40,844 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 19); {1115#false} is VALID [2018-11-23 12:14:40,844 INFO L273 TraceCheckUtils]: 32: Hoare triple {1115#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:40,844 INFO L256 TraceCheckUtils]: 33: Hoare triple {1115#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:14:40,844 INFO L273 TraceCheckUtils]: 34: Hoare triple {1114#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1114#true} is VALID [2018-11-23 12:14:40,844 INFO L273 TraceCheckUtils]: 35: Hoare triple {1114#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1114#true} is VALID [2018-11-23 12:14:40,845 INFO L273 TraceCheckUtils]: 36: Hoare triple {1114#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1114#true} is VALID [2018-11-23 12:14:40,845 INFO L273 TraceCheckUtils]: 37: Hoare triple {1114#true} assume !(~i~0 < 20); {1114#true} is VALID [2018-11-23 12:14:40,845 INFO L273 TraceCheckUtils]: 38: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:40,845 INFO L273 TraceCheckUtils]: 39: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:40,845 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1114#true} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:14:40,846 INFO L273 TraceCheckUtils]: 41: Hoare triple {1115#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1115#false} is VALID [2018-11-23 12:14:40,846 INFO L273 TraceCheckUtils]: 42: Hoare triple {1115#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1115#false} is VALID [2018-11-23 12:14:40,846 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:14:40,848 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:40,848 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:40,849 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:40,858 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:14:40,904 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:14:40,904 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:40,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:40,934 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:41,054 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:14:41,055 INFO L273 TraceCheckUtils]: 1: Hoare triple {1114#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1114#true} is VALID [2018-11-23 12:14:41,055 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:41,055 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:14:41,056 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:14:41,056 INFO L273 TraceCheckUtils]: 5: Hoare triple {1114#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1137#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:41,057 INFO L273 TraceCheckUtils]: 6: Hoare triple {1137#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1137#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:41,057 INFO L273 TraceCheckUtils]: 7: Hoare triple {1137#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1117#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:41,059 INFO L273 TraceCheckUtils]: 8: Hoare triple {1117#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1117#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:41,061 INFO L273 TraceCheckUtils]: 9: Hoare triple {1117#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1118#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:41,061 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 20); {1115#false} is VALID [2018-11-23 12:14:41,062 INFO L256 TraceCheckUtils]: 11: Hoare triple {1115#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:14:41,062 INFO L273 TraceCheckUtils]: 12: Hoare triple {1115#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1115#false} is VALID [2018-11-23 12:14:41,062 INFO L273 TraceCheckUtils]: 13: Hoare triple {1115#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1115#false} is VALID [2018-11-23 12:14:41,062 INFO L273 TraceCheckUtils]: 14: Hoare triple {1115#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1115#false} is VALID [2018-11-23 12:14:41,063 INFO L273 TraceCheckUtils]: 15: Hoare triple {1115#false} assume !(~i~0 < 20); {1115#false} is VALID [2018-11-23 12:14:41,063 INFO L273 TraceCheckUtils]: 16: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:41,063 INFO L273 TraceCheckUtils]: 17: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:41,064 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1115#false} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:14:41,064 INFO L273 TraceCheckUtils]: 19: Hoare triple {1115#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:41,064 INFO L256 TraceCheckUtils]: 20: Hoare triple {1115#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:14:41,065 INFO L273 TraceCheckUtils]: 21: Hoare triple {1115#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1115#false} is VALID [2018-11-23 12:14:41,065 INFO L273 TraceCheckUtils]: 22: Hoare triple {1115#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1115#false} is VALID [2018-11-23 12:14:41,065 INFO L273 TraceCheckUtils]: 23: Hoare triple {1115#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1115#false} is VALID [2018-11-23 12:14:41,065 INFO L273 TraceCheckUtils]: 24: Hoare triple {1115#false} assume !(~i~0 < 20); {1115#false} is VALID [2018-11-23 12:14:41,065 INFO L273 TraceCheckUtils]: 25: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:41,066 INFO L273 TraceCheckUtils]: 26: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:41,066 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1115#false} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:14:41,066 INFO L273 TraceCheckUtils]: 28: Hoare triple {1115#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1115#false} is VALID [2018-11-23 12:14:41,066 INFO L273 TraceCheckUtils]: 29: Hoare triple {1115#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L273 TraceCheckUtils]: 30: Hoare triple {1115#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 19); {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L273 TraceCheckUtils]: 32: Hoare triple {1115#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L256 TraceCheckUtils]: 33: Hoare triple {1115#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L273 TraceCheckUtils]: 34: Hoare triple {1115#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1115#false} is VALID [2018-11-23 12:14:41,067 INFO L273 TraceCheckUtils]: 35: Hoare triple {1115#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1115#false} is VALID [2018-11-23 12:14:41,068 INFO L273 TraceCheckUtils]: 36: Hoare triple {1115#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1115#false} is VALID [2018-11-23 12:14:41,068 INFO L273 TraceCheckUtils]: 37: Hoare triple {1115#false} assume !(~i~0 < 20); {1115#false} is VALID [2018-11-23 12:14:41,068 INFO L273 TraceCheckUtils]: 38: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:41,069 INFO L273 TraceCheckUtils]: 39: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:41,069 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1115#false} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:14:41,069 INFO L273 TraceCheckUtils]: 41: Hoare triple {1115#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1115#false} is VALID [2018-11-23 12:14:41,069 INFO L273 TraceCheckUtils]: 42: Hoare triple {1115#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1115#false} is VALID [2018-11-23 12:14:41,070 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:14:41,072 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:41,092 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:41,092 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:14:41,093 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:14:41,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:41,093 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:14:41,147 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:41,148 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:14:41,148 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:14:41,148 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:14:41,149 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand 6 states. [2018-11-23 12:14:41,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:41,337 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2018-11-23 12:14:41,337 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:14:41,337 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:14:41,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:41,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:41,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:14:41,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:41,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:14:41,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2018-11-23 12:14:41,467 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:41,469 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:14:41,470 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 12:14:41,471 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:14:41,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 12:14:41,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 12:14:41,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:41,507 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:41,507 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:41,507 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:41,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:41,510 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:14:41,510 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:14:41,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:41,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:41,511 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-23 12:14:41,511 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-23 12:14:41,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:41,513 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:14:41,514 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:14:41,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:41,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:41,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:41,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:41,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:14:41,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2018-11-23 12:14:41,516 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 44 [2018-11-23 12:14:41,516 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:41,516 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2018-11-23 12:14:41,516 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:14:41,517 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-23 12:14:41,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 12:14:41,517 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:41,518 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 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, 1, 1] [2018-11-23 12:14:41,518 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:41,518 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:41,518 INFO L82 PathProgramCache]: Analyzing trace with hash 525258797, now seen corresponding path program 3 times [2018-11-23 12:14:41,518 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:41,519 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:41,519 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:41,519 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:41,520 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:41,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:42,188 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:14:42,189 INFO L273 TraceCheckUtils]: 1: Hoare triple {1446#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1446#true} is VALID [2018-11-23 12:14:42,189 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,190 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:14:42,190 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:14:42,191 INFO L273 TraceCheckUtils]: 5: Hoare triple {1446#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1448#(= main_~i~1 0)} is VALID [2018-11-23 12:14:42,192 INFO L273 TraceCheckUtils]: 6: Hoare triple {1448#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1448#(= main_~i~1 0)} is VALID [2018-11-23 12:14:42,192 INFO L273 TraceCheckUtils]: 7: Hoare triple {1448#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1449#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:42,194 INFO L273 TraceCheckUtils]: 8: Hoare triple {1449#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1449#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:42,194 INFO L273 TraceCheckUtils]: 9: Hoare triple {1449#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1450#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:42,196 INFO L273 TraceCheckUtils]: 10: Hoare triple {1450#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1450#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:42,197 INFO L273 TraceCheckUtils]: 11: Hoare triple {1450#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1451#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:42,198 INFO L273 TraceCheckUtils]: 12: Hoare triple {1451#(<= main_~i~1 3)} assume !(~i~1 < 20); {1447#false} is VALID [2018-11-23 12:14:42,198 INFO L256 TraceCheckUtils]: 13: Hoare triple {1447#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,198 INFO L273 TraceCheckUtils]: 14: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1446#true} is VALID [2018-11-23 12:14:42,198 INFO L273 TraceCheckUtils]: 15: Hoare triple {1446#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1446#true} is VALID [2018-11-23 12:14:42,199 INFO L273 TraceCheckUtils]: 16: Hoare triple {1446#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1446#true} is VALID [2018-11-23 12:14:42,199 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 20); {1446#true} is VALID [2018-11-23 12:14:42,199 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:42,200 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,200 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1447#false} #70#return; {1447#false} is VALID [2018-11-23 12:14:42,200 INFO L273 TraceCheckUtils]: 21: Hoare triple {1447#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1447#false} is VALID [2018-11-23 12:14:42,201 INFO L256 TraceCheckUtils]: 22: Hoare triple {1447#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,201 INFO L273 TraceCheckUtils]: 23: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1446#true} is VALID [2018-11-23 12:14:42,202 INFO L273 TraceCheckUtils]: 24: Hoare triple {1446#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1446#true} is VALID [2018-11-23 12:14:42,202 INFO L273 TraceCheckUtils]: 25: Hoare triple {1446#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1446#true} is VALID [2018-11-23 12:14:42,202 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 20); {1446#true} is VALID [2018-11-23 12:14:42,202 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:42,203 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,203 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1447#false} #72#return; {1447#false} is VALID [2018-11-23 12:14:42,203 INFO L273 TraceCheckUtils]: 30: Hoare triple {1447#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1447#false} is VALID [2018-11-23 12:14:42,203 INFO L273 TraceCheckUtils]: 31: Hoare triple {1447#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1447#false} is VALID [2018-11-23 12:14:42,204 INFO L273 TraceCheckUtils]: 32: Hoare triple {1447#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1447#false} is VALID [2018-11-23 12:14:42,204 INFO L273 TraceCheckUtils]: 33: Hoare triple {1447#false} assume !(~i~2 < 19); {1447#false} is VALID [2018-11-23 12:14:42,204 INFO L273 TraceCheckUtils]: 34: Hoare triple {1447#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1447#false} is VALID [2018-11-23 12:14:42,205 INFO L256 TraceCheckUtils]: 35: Hoare triple {1447#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,205 INFO L273 TraceCheckUtils]: 36: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1446#true} is VALID [2018-11-23 12:14:42,205 INFO L273 TraceCheckUtils]: 37: Hoare triple {1446#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1446#true} is VALID [2018-11-23 12:14:42,205 INFO L273 TraceCheckUtils]: 38: Hoare triple {1446#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1446#true} is VALID [2018-11-23 12:14:42,206 INFO L273 TraceCheckUtils]: 39: Hoare triple {1446#true} assume !(~i~0 < 20); {1446#true} is VALID [2018-11-23 12:14:42,206 INFO L273 TraceCheckUtils]: 40: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:42,206 INFO L273 TraceCheckUtils]: 41: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,206 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1446#true} {1447#false} #74#return; {1447#false} is VALID [2018-11-23 12:14:42,207 INFO L273 TraceCheckUtils]: 43: Hoare triple {1447#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1447#false} is VALID [2018-11-23 12:14:42,207 INFO L273 TraceCheckUtils]: 44: Hoare triple {1447#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1447#false} is VALID [2018-11-23 12:14:42,207 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:14:42,210 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2018-11-23 12:14:42,210 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:42,210 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:42,221 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:14:42,246 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 12:14:42,246 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:42,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:42,292 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:42,414 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:14:42,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {1446#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1446#true} is VALID [2018-11-23 12:14:42,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,415 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:14:42,415 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:14:42,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {1446#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1446#true} is VALID [2018-11-23 12:14:42,416 INFO L273 TraceCheckUtils]: 6: Hoare triple {1446#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1446#true} is VALID [2018-11-23 12:14:42,416 INFO L273 TraceCheckUtils]: 7: Hoare triple {1446#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1446#true} is VALID [2018-11-23 12:14:42,416 INFO L273 TraceCheckUtils]: 8: Hoare triple {1446#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L273 TraceCheckUtils]: 9: Hoare triple {1446#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L273 TraceCheckUtils]: 10: Hoare triple {1446#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L273 TraceCheckUtils]: 11: Hoare triple {1446#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L273 TraceCheckUtils]: 12: Hoare triple {1446#true} assume !(~i~1 < 20); {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L256 TraceCheckUtils]: 13: Hoare triple {1446#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,417 INFO L273 TraceCheckUtils]: 14: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L273 TraceCheckUtils]: 15: Hoare triple {1446#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L273 TraceCheckUtils]: 16: Hoare triple {1446#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 20); {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,418 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1446#true} #70#return; {1446#true} is VALID [2018-11-23 12:14:42,419 INFO L273 TraceCheckUtils]: 21: Hoare triple {1446#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1446#true} is VALID [2018-11-23 12:14:42,419 INFO L256 TraceCheckUtils]: 22: Hoare triple {1446#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,419 INFO L273 TraceCheckUtils]: 23: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1446#true} is VALID [2018-11-23 12:14:42,419 INFO L273 TraceCheckUtils]: 24: Hoare triple {1446#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1446#true} is VALID [2018-11-23 12:14:42,419 INFO L273 TraceCheckUtils]: 25: Hoare triple {1446#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 20); {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1446#true} #72#return; {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L273 TraceCheckUtils]: 30: Hoare triple {1446#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1446#true} is VALID [2018-11-23 12:14:42,420 INFO L273 TraceCheckUtils]: 31: Hoare triple {1446#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1446#true} is VALID [2018-11-23 12:14:42,421 INFO L273 TraceCheckUtils]: 32: Hoare triple {1446#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1446#true} is VALID [2018-11-23 12:14:42,421 INFO L273 TraceCheckUtils]: 33: Hoare triple {1446#true} assume !(~i~2 < 19); {1446#true} is VALID [2018-11-23 12:14:42,421 INFO L273 TraceCheckUtils]: 34: Hoare triple {1446#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1446#true} is VALID [2018-11-23 12:14:42,421 INFO L256 TraceCheckUtils]: 35: Hoare triple {1446#true} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:14:42,422 INFO L273 TraceCheckUtils]: 36: Hoare triple {1446#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1563#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:42,422 INFO L273 TraceCheckUtils]: 37: Hoare triple {1563#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1563#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:42,423 INFO L273 TraceCheckUtils]: 38: Hoare triple {1563#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1570#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:42,424 INFO L273 TraceCheckUtils]: 39: Hoare triple {1570#(<= avg_~i~0 1)} assume !(~i~0 < 20); {1447#false} is VALID [2018-11-23 12:14:42,424 INFO L273 TraceCheckUtils]: 40: Hoare triple {1447#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1447#false} is VALID [2018-11-23 12:14:42,424 INFO L273 TraceCheckUtils]: 41: Hoare triple {1447#false} assume true; {1447#false} is VALID [2018-11-23 12:14:42,424 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1447#false} {1446#true} #74#return; {1447#false} is VALID [2018-11-23 12:14:42,425 INFO L273 TraceCheckUtils]: 43: Hoare triple {1447#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1447#false} is VALID [2018-11-23 12:14:42,425 INFO L273 TraceCheckUtils]: 44: Hoare triple {1447#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1447#false} is VALID [2018-11-23 12:14:42,425 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:14:42,428 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 16 proven. 1 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2018-11-23 12:14:42,448 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:42,449 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-23 12:14:42,449 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:14:42,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:42,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:14:42,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:42,571 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:14:42,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:14:42,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:42,572 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 8 states. [2018-11-23 12:14:42,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:42,993 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2018-11-23 12:14:42,993 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:14:42,993 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:14:42,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:42,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:42,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:14:42,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:42,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:14:42,998 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2018-11-23 12:14:43,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:43,112 INFO L225 Difference]: With dead ends: 59 [2018-11-23 12:14:43,113 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 12:14:43,113 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:43,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 12:14:43,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2018-11-23 12:14:43,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:43,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:43,183 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:43,184 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:43,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:43,186 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:14:43,186 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:14:43,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:43,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:43,187 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 39 states. [2018-11-23 12:14:43,187 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 39 states. [2018-11-23 12:14:43,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:43,190 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:14:43,190 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:14:43,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:43,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:43,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:43,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:43,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:14:43,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2018-11-23 12:14:43,193 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 46 [2018-11-23 12:14:43,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:43,193 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2018-11-23 12:14:43,193 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:14:43,193 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2018-11-23 12:14:43,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:14:43,194 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:43,195 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 4, 4, 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:14:43,195 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:43,195 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:43,195 INFO L82 PathProgramCache]: Analyzing trace with hash -174499699, now seen corresponding path program 4 times [2018-11-23 12:14:43,195 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:43,196 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:43,197 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:43,197 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:43,197 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:43,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:43,557 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:14:43,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {1809#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1809#true} is VALID [2018-11-23 12:14:43,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:43,558 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:14:43,558 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:14:43,559 INFO L273 TraceCheckUtils]: 5: Hoare triple {1809#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1811#(= main_~i~1 0)} is VALID [2018-11-23 12:14:43,560 INFO L273 TraceCheckUtils]: 6: Hoare triple {1811#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1811#(= main_~i~1 0)} is VALID [2018-11-23 12:14:43,560 INFO L273 TraceCheckUtils]: 7: Hoare triple {1811#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1812#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:43,561 INFO L273 TraceCheckUtils]: 8: Hoare triple {1812#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1812#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:43,561 INFO L273 TraceCheckUtils]: 9: Hoare triple {1812#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1813#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:43,562 INFO L273 TraceCheckUtils]: 10: Hoare triple {1813#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1813#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:43,563 INFO L273 TraceCheckUtils]: 11: Hoare triple {1813#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1814#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:43,563 INFO L273 TraceCheckUtils]: 12: Hoare triple {1814#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1814#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:43,564 INFO L273 TraceCheckUtils]: 13: Hoare triple {1814#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1815#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:43,565 INFO L273 TraceCheckUtils]: 14: Hoare triple {1815#(<= main_~i~1 4)} assume !(~i~1 < 20); {1810#false} is VALID [2018-11-23 12:14:43,565 INFO L256 TraceCheckUtils]: 15: Hoare triple {1810#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:14:43,566 INFO L273 TraceCheckUtils]: 16: Hoare triple {1809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1809#true} is VALID [2018-11-23 12:14:43,566 INFO L273 TraceCheckUtils]: 17: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,566 INFO L273 TraceCheckUtils]: 18: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,567 INFO L273 TraceCheckUtils]: 19: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,567 INFO L273 TraceCheckUtils]: 20: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,567 INFO L273 TraceCheckUtils]: 21: Hoare triple {1809#true} assume !(~i~0 < 20); {1809#true} is VALID [2018-11-23 12:14:43,568 INFO L273 TraceCheckUtils]: 22: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:43,568 INFO L273 TraceCheckUtils]: 23: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:43,568 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1809#true} {1810#false} #70#return; {1810#false} is VALID [2018-11-23 12:14:43,569 INFO L273 TraceCheckUtils]: 25: Hoare triple {1810#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:43,569 INFO L256 TraceCheckUtils]: 26: Hoare triple {1810#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:14:43,569 INFO L273 TraceCheckUtils]: 27: Hoare triple {1809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1809#true} is VALID [2018-11-23 12:14:43,569 INFO L273 TraceCheckUtils]: 28: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 29: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 30: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 31: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 32: Hoare triple {1809#true} assume !(~i~0 < 20); {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 33: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:43,570 INFO L273 TraceCheckUtils]: 34: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:43,571 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1809#true} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:14:43,571 INFO L273 TraceCheckUtils]: 36: Hoare triple {1810#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1810#false} is VALID [2018-11-23 12:14:43,571 INFO L273 TraceCheckUtils]: 37: Hoare triple {1810#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1810#false} is VALID [2018-11-23 12:14:43,571 INFO L273 TraceCheckUtils]: 38: Hoare triple {1810#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1810#false} is VALID [2018-11-23 12:14:43,571 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 19); {1810#false} is VALID [2018-11-23 12:14:43,572 INFO L273 TraceCheckUtils]: 40: Hoare triple {1810#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:43,572 INFO L256 TraceCheckUtils]: 41: Hoare triple {1810#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:14:43,572 INFO L273 TraceCheckUtils]: 42: Hoare triple {1809#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1809#true} is VALID [2018-11-23 12:14:43,572 INFO L273 TraceCheckUtils]: 43: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,573 INFO L273 TraceCheckUtils]: 44: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,573 INFO L273 TraceCheckUtils]: 45: Hoare triple {1809#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1809#true} is VALID [2018-11-23 12:14:43,573 INFO L273 TraceCheckUtils]: 46: Hoare triple {1809#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1809#true} is VALID [2018-11-23 12:14:43,573 INFO L273 TraceCheckUtils]: 47: Hoare triple {1809#true} assume !(~i~0 < 20); {1809#true} is VALID [2018-11-23 12:14:43,574 INFO L273 TraceCheckUtils]: 48: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:43,574 INFO L273 TraceCheckUtils]: 49: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:43,574 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1809#true} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:14:43,574 INFO L273 TraceCheckUtils]: 51: Hoare triple {1810#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1810#false} is VALID [2018-11-23 12:14:43,574 INFO L273 TraceCheckUtils]: 52: Hoare triple {1810#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1810#false} is VALID [2018-11-23 12:14:43,575 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:14:43,578 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 12:14:43,579 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:43,579 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:43,594 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:14:43,632 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:14:43,632 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:43,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:43,656 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:43,780 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:14:43,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {1809#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1809#true} is VALID [2018-11-23 12:14:43,781 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:43,781 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:14:43,781 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:14:43,782 INFO L273 TraceCheckUtils]: 5: Hoare triple {1809#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1834#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:43,782 INFO L273 TraceCheckUtils]: 6: Hoare triple {1834#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1834#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:43,783 INFO L273 TraceCheckUtils]: 7: Hoare triple {1834#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1812#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:43,783 INFO L273 TraceCheckUtils]: 8: Hoare triple {1812#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1812#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:43,784 INFO L273 TraceCheckUtils]: 9: Hoare triple {1812#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1813#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:43,784 INFO L273 TraceCheckUtils]: 10: Hoare triple {1813#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1813#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:43,785 INFO L273 TraceCheckUtils]: 11: Hoare triple {1813#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1814#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:43,785 INFO L273 TraceCheckUtils]: 12: Hoare triple {1814#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1814#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:43,792 INFO L273 TraceCheckUtils]: 13: Hoare triple {1814#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1815#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:43,792 INFO L273 TraceCheckUtils]: 14: Hoare triple {1815#(<= main_~i~1 4)} assume !(~i~1 < 20); {1810#false} is VALID [2018-11-23 12:14:43,793 INFO L256 TraceCheckUtils]: 15: Hoare triple {1810#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1810#false} is VALID [2018-11-23 12:14:43,793 INFO L273 TraceCheckUtils]: 16: Hoare triple {1810#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1810#false} is VALID [2018-11-23 12:14:43,793 INFO L273 TraceCheckUtils]: 17: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,793 INFO L273 TraceCheckUtils]: 18: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,793 INFO L273 TraceCheckUtils]: 19: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,794 INFO L273 TraceCheckUtils]: 20: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,794 INFO L273 TraceCheckUtils]: 21: Hoare triple {1810#false} assume !(~i~0 < 20); {1810#false} is VALID [2018-11-23 12:14:43,794 INFO L273 TraceCheckUtils]: 22: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:43,795 INFO L273 TraceCheckUtils]: 23: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:43,795 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1810#false} {1810#false} #70#return; {1810#false} is VALID [2018-11-23 12:14:43,795 INFO L273 TraceCheckUtils]: 25: Hoare triple {1810#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:43,795 INFO L256 TraceCheckUtils]: 26: Hoare triple {1810#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {1810#false} is VALID [2018-11-23 12:14:43,795 INFO L273 TraceCheckUtils]: 27: Hoare triple {1810#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1810#false} is VALID [2018-11-23 12:14:43,796 INFO L273 TraceCheckUtils]: 28: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,796 INFO L273 TraceCheckUtils]: 29: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,797 INFO L273 TraceCheckUtils]: 30: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,797 INFO L273 TraceCheckUtils]: 31: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,797 INFO L273 TraceCheckUtils]: 32: Hoare triple {1810#false} assume !(~i~0 < 20); {1810#false} is VALID [2018-11-23 12:14:43,798 INFO L273 TraceCheckUtils]: 33: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:43,798 INFO L273 TraceCheckUtils]: 34: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:43,798 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1810#false} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:14:43,799 INFO L273 TraceCheckUtils]: 36: Hoare triple {1810#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {1810#false} is VALID [2018-11-23 12:14:43,799 INFO L273 TraceCheckUtils]: 37: Hoare triple {1810#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {1810#false} is VALID [2018-11-23 12:14:43,799 INFO L273 TraceCheckUtils]: 38: Hoare triple {1810#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {1810#false} is VALID [2018-11-23 12:14:43,799 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 19); {1810#false} is VALID [2018-11-23 12:14:43,800 INFO L273 TraceCheckUtils]: 40: Hoare triple {1810#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:43,800 INFO L256 TraceCheckUtils]: 41: Hoare triple {1810#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {1810#false} is VALID [2018-11-23 12:14:43,800 INFO L273 TraceCheckUtils]: 42: Hoare triple {1810#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1810#false} is VALID [2018-11-23 12:14:43,800 INFO L273 TraceCheckUtils]: 43: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,801 INFO L273 TraceCheckUtils]: 44: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,801 INFO L273 TraceCheckUtils]: 45: Hoare triple {1810#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1810#false} is VALID [2018-11-23 12:14:43,801 INFO L273 TraceCheckUtils]: 46: Hoare triple {1810#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1810#false} is VALID [2018-11-23 12:14:43,801 INFO L273 TraceCheckUtils]: 47: Hoare triple {1810#false} assume !(~i~0 < 20); {1810#false} is VALID [2018-11-23 12:14:43,801 INFO L273 TraceCheckUtils]: 48: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:43,802 INFO L273 TraceCheckUtils]: 49: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:43,802 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1810#false} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:14:43,802 INFO L273 TraceCheckUtils]: 51: Hoare triple {1810#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {1810#false} is VALID [2018-11-23 12:14:43,802 INFO L273 TraceCheckUtils]: 52: Hoare triple {1810#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1810#false} is VALID [2018-11-23 12:14:43,803 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:14:43,806 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 12:14:43,831 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:43,831 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2018-11-23 12:14:43,832 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 54 [2018-11-23 12:14:43,832 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:43,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:14:43,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:43,932 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:14:43,933 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:14:43,933 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:43,933 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand 8 states. [2018-11-23 12:14:44,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:44,448 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-23 12:14:44,448 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:14:44,449 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 54 [2018-11-23 12:14:44,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:44,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:44,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-11-23 12:14:44,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:44,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-11-23 12:14:44,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 62 transitions. [2018-11-23 12:14:44,572 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:14:44,574 INFO L225 Difference]: With dead ends: 62 [2018-11-23 12:14:44,574 INFO L226 Difference]: Without dead ends: 40 [2018-11-23 12:14:44,575 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=28, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:44,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-23 12:14:44,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 39. [2018-11-23 12:14:44,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:44,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 39 states. [2018-11-23 12:14:44,598 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 39 states. [2018-11-23 12:14:44,598 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 39 states. [2018-11-23 12:14:44,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:44,601 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2018-11-23 12:14:44,601 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2018-11-23 12:14:44,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:44,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:44,602 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 40 states. [2018-11-23 12:14:44,602 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 40 states. [2018-11-23 12:14:44,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:44,604 INFO L93 Difference]: Finished difference Result 40 states and 44 transitions. [2018-11-23 12:14:44,604 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 44 transitions. [2018-11-23 12:14:44,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:44,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:44,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:44,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:44,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-11-23 12:14:44,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 43 transitions. [2018-11-23 12:14:44,607 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 43 transitions. Word has length 54 [2018-11-23 12:14:44,607 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:44,607 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 43 transitions. [2018-11-23 12:14:44,607 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:14:44,607 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:14:44,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2018-11-23 12:14:44,608 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:44,608 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 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:14:44,609 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:44,609 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:44,609 INFO L82 PathProgramCache]: Analyzing trace with hash 830152559, now seen corresponding path program 5 times [2018-11-23 12:14:44,609 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:44,609 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:44,610 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:44,610 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:44,610 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:44,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:44,952 INFO L256 TraceCheckUtils]: 0: Hoare triple {2206#true} call ULTIMATE.init(); {2206#true} is VALID [2018-11-23 12:14:44,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {2206#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2206#true} is VALID [2018-11-23 12:14:44,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {2206#true} assume true; {2206#true} is VALID [2018-11-23 12:14:44,953 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2206#true} {2206#true} #66#return; {2206#true} is VALID [2018-11-23 12:14:44,954 INFO L256 TraceCheckUtils]: 4: Hoare triple {2206#true} call #t~ret12 := main(); {2206#true} is VALID [2018-11-23 12:14:44,957 INFO L273 TraceCheckUtils]: 5: Hoare triple {2206#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2208#(= main_~i~1 0)} is VALID [2018-11-23 12:14:44,958 INFO L273 TraceCheckUtils]: 6: Hoare triple {2208#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2208#(= main_~i~1 0)} is VALID [2018-11-23 12:14:44,961 INFO L273 TraceCheckUtils]: 7: Hoare triple {2208#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2209#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:44,961 INFO L273 TraceCheckUtils]: 8: Hoare triple {2209#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2209#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:44,963 INFO L273 TraceCheckUtils]: 9: Hoare triple {2209#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2210#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:44,963 INFO L273 TraceCheckUtils]: 10: Hoare triple {2210#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2210#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:44,965 INFO L273 TraceCheckUtils]: 11: Hoare triple {2210#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2211#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:44,965 INFO L273 TraceCheckUtils]: 12: Hoare triple {2211#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2211#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:44,967 INFO L273 TraceCheckUtils]: 13: Hoare triple {2211#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2212#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:44,967 INFO L273 TraceCheckUtils]: 14: Hoare triple {2212#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2212#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:44,969 INFO L273 TraceCheckUtils]: 15: Hoare triple {2212#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2213#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:44,969 INFO L273 TraceCheckUtils]: 16: Hoare triple {2213#(<= main_~i~1 5)} assume !(~i~1 < 20); {2207#false} is VALID [2018-11-23 12:14:44,969 INFO L256 TraceCheckUtils]: 17: Hoare triple {2207#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2206#true} is VALID [2018-11-23 12:14:44,969 INFO L273 TraceCheckUtils]: 18: Hoare triple {2206#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 19: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 20: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 21: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 22: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 23: Hoare triple {2206#true} assume !(~i~0 < 20); {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 24: Hoare triple {2206#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2206#true} is VALID [2018-11-23 12:14:44,970 INFO L273 TraceCheckUtils]: 25: Hoare triple {2206#true} assume true; {2206#true} is VALID [2018-11-23 12:14:44,971 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2206#true} {2207#false} #70#return; {2207#false} is VALID [2018-11-23 12:14:44,971 INFO L273 TraceCheckUtils]: 27: Hoare triple {2207#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2207#false} is VALID [2018-11-23 12:14:44,971 INFO L256 TraceCheckUtils]: 28: Hoare triple {2207#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2206#true} is VALID [2018-11-23 12:14:44,971 INFO L273 TraceCheckUtils]: 29: Hoare triple {2206#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2206#true} is VALID [2018-11-23 12:14:44,971 INFO L273 TraceCheckUtils]: 30: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,971 INFO L273 TraceCheckUtils]: 31: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,971 INFO L273 TraceCheckUtils]: 32: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 33: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 34: Hoare triple {2206#true} assume !(~i~0 < 20); {2206#true} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 35: Hoare triple {2206#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2206#true} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 36: Hoare triple {2206#true} assume true; {2206#true} is VALID [2018-11-23 12:14:44,972 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2206#true} {2207#false} #72#return; {2207#false} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 38: Hoare triple {2207#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2207#false} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 39: Hoare triple {2207#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2207#false} is VALID [2018-11-23 12:14:44,972 INFO L273 TraceCheckUtils]: 40: Hoare triple {2207#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2207#false} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 41: Hoare triple {2207#false} assume !(~i~2 < 19); {2207#false} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 42: Hoare triple {2207#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2207#false} is VALID [2018-11-23 12:14:44,973 INFO L256 TraceCheckUtils]: 43: Hoare triple {2207#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2206#true} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 44: Hoare triple {2206#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2206#true} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 45: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 46: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,973 INFO L273 TraceCheckUtils]: 47: Hoare triple {2206#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2206#true} is VALID [2018-11-23 12:14:44,974 INFO L273 TraceCheckUtils]: 48: Hoare triple {2206#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2206#true} is VALID [2018-11-23 12:14:44,974 INFO L273 TraceCheckUtils]: 49: Hoare triple {2206#true} assume !(~i~0 < 20); {2206#true} is VALID [2018-11-23 12:14:44,974 INFO L273 TraceCheckUtils]: 50: Hoare triple {2206#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2206#true} is VALID [2018-11-23 12:14:44,974 INFO L273 TraceCheckUtils]: 51: Hoare triple {2206#true} assume true; {2206#true} is VALID [2018-11-23 12:14:44,974 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {2206#true} {2207#false} #74#return; {2207#false} is VALID [2018-11-23 12:14:44,975 INFO L273 TraceCheckUtils]: 53: Hoare triple {2207#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2207#false} is VALID [2018-11-23 12:14:44,975 INFO L273 TraceCheckUtils]: 54: Hoare triple {2207#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2207#false} is VALID [2018-11-23 12:14:44,975 INFO L273 TraceCheckUtils]: 55: Hoare triple {2207#false} assume !false; {2207#false} is VALID [2018-11-23 12:14:44,977 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2018-11-23 12:14:44,977 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:44,977 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:44,988 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:14:45,037 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-23 12:14:45,037 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:45,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:45,057 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:45,226 INFO L256 TraceCheckUtils]: 0: Hoare triple {2206#true} call ULTIMATE.init(); {2206#true} is VALID [2018-11-23 12:14:45,226 INFO L273 TraceCheckUtils]: 1: Hoare triple {2206#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2206#true} is VALID [2018-11-23 12:14:45,226 INFO L273 TraceCheckUtils]: 2: Hoare triple {2206#true} assume true; {2206#true} is VALID [2018-11-23 12:14:45,226 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2206#true} {2206#true} #66#return; {2206#true} is VALID [2018-11-23 12:14:45,226 INFO L256 TraceCheckUtils]: 4: Hoare triple {2206#true} call #t~ret12 := main(); {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 5: Hoare triple {2206#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {2206#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 7: Hoare triple {2206#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 8: Hoare triple {2206#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 9: Hoare triple {2206#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 10: Hoare triple {2206#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 11: Hoare triple {2206#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2206#true} is VALID [2018-11-23 12:14:45,227 INFO L273 TraceCheckUtils]: 12: Hoare triple {2206#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2206#true} is VALID [2018-11-23 12:14:45,228 INFO L273 TraceCheckUtils]: 13: Hoare triple {2206#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2206#true} is VALID [2018-11-23 12:14:45,228 INFO L273 TraceCheckUtils]: 14: Hoare triple {2206#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2206#true} is VALID [2018-11-23 12:14:45,228 INFO L273 TraceCheckUtils]: 15: Hoare triple {2206#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2206#true} is VALID [2018-11-23 12:14:45,228 INFO L273 TraceCheckUtils]: 16: Hoare triple {2206#true} assume !(~i~1 < 20); {2206#true} is VALID [2018-11-23 12:14:45,228 INFO L256 TraceCheckUtils]: 17: Hoare triple {2206#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2206#true} is VALID [2018-11-23 12:14:45,229 INFO L273 TraceCheckUtils]: 18: Hoare triple {2206#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2271#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:45,229 INFO L273 TraceCheckUtils]: 19: Hoare triple {2271#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2271#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:45,230 INFO L273 TraceCheckUtils]: 20: Hoare triple {2271#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2278#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:45,230 INFO L273 TraceCheckUtils]: 21: Hoare triple {2278#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2278#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:45,231 INFO L273 TraceCheckUtils]: 22: Hoare triple {2278#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2285#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:45,231 INFO L273 TraceCheckUtils]: 23: Hoare triple {2285#(<= avg_~i~0 2)} assume !(~i~0 < 20); {2207#false} is VALID [2018-11-23 12:14:45,231 INFO L273 TraceCheckUtils]: 24: Hoare triple {2207#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2207#false} is VALID [2018-11-23 12:14:45,231 INFO L273 TraceCheckUtils]: 25: Hoare triple {2207#false} assume true; {2207#false} is VALID [2018-11-23 12:14:45,231 INFO L268 TraceCheckUtils]: 26: Hoare quadruple {2207#false} {2206#true} #70#return; {2207#false} is VALID [2018-11-23 12:14:45,232 INFO L273 TraceCheckUtils]: 27: Hoare triple {2207#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2207#false} is VALID [2018-11-23 12:14:45,232 INFO L256 TraceCheckUtils]: 28: Hoare triple {2207#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2207#false} is VALID [2018-11-23 12:14:45,232 INFO L273 TraceCheckUtils]: 29: Hoare triple {2207#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2207#false} is VALID [2018-11-23 12:14:45,232 INFO L273 TraceCheckUtils]: 30: Hoare triple {2207#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2207#false} is VALID [2018-11-23 12:14:45,233 INFO L273 TraceCheckUtils]: 31: Hoare triple {2207#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2207#false} is VALID [2018-11-23 12:14:45,233 INFO L273 TraceCheckUtils]: 32: Hoare triple {2207#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2207#false} is VALID [2018-11-23 12:14:45,233 INFO L273 TraceCheckUtils]: 33: Hoare triple {2207#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2207#false} is VALID [2018-11-23 12:14:45,233 INFO L273 TraceCheckUtils]: 34: Hoare triple {2207#false} assume !(~i~0 < 20); {2207#false} is VALID [2018-11-23 12:14:45,233 INFO L273 TraceCheckUtils]: 35: Hoare triple {2207#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2207#false} is VALID [2018-11-23 12:14:45,234 INFO L273 TraceCheckUtils]: 36: Hoare triple {2207#false} assume true; {2207#false} is VALID [2018-11-23 12:14:45,234 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {2207#false} {2207#false} #72#return; {2207#false} is VALID [2018-11-23 12:14:45,234 INFO L273 TraceCheckUtils]: 38: Hoare triple {2207#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2207#false} is VALID [2018-11-23 12:14:45,234 INFO L273 TraceCheckUtils]: 39: Hoare triple {2207#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2207#false} is VALID [2018-11-23 12:14:45,235 INFO L273 TraceCheckUtils]: 40: Hoare triple {2207#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2207#false} is VALID [2018-11-23 12:14:45,235 INFO L273 TraceCheckUtils]: 41: Hoare triple {2207#false} assume !(~i~2 < 19); {2207#false} is VALID [2018-11-23 12:14:45,235 INFO L273 TraceCheckUtils]: 42: Hoare triple {2207#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2207#false} is VALID [2018-11-23 12:14:45,235 INFO L256 TraceCheckUtils]: 43: Hoare triple {2207#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2207#false} is VALID [2018-11-23 12:14:45,235 INFO L273 TraceCheckUtils]: 44: Hoare triple {2207#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 45: Hoare triple {2207#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 46: Hoare triple {2207#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 47: Hoare triple {2207#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 48: Hoare triple {2207#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 49: Hoare triple {2207#false} assume !(~i~0 < 20); {2207#false} is VALID [2018-11-23 12:14:45,236 INFO L273 TraceCheckUtils]: 50: Hoare triple {2207#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2207#false} is VALID [2018-11-23 12:14:45,237 INFO L273 TraceCheckUtils]: 51: Hoare triple {2207#false} assume true; {2207#false} is VALID [2018-11-23 12:14:45,237 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {2207#false} {2207#false} #74#return; {2207#false} is VALID [2018-11-23 12:14:45,237 INFO L273 TraceCheckUtils]: 53: Hoare triple {2207#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2207#false} is VALID [2018-11-23 12:14:45,237 INFO L273 TraceCheckUtils]: 54: Hoare triple {2207#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2207#false} is VALID [2018-11-23 12:14:45,237 INFO L273 TraceCheckUtils]: 55: Hoare triple {2207#false} assume !false; {2207#false} is VALID [2018-11-23 12:14:45,239 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 28 proven. 4 refuted. 0 times theorem prover too weak. 57 trivial. 0 not checked. [2018-11-23 12:14:45,266 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:45,266 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5] total 11 [2018-11-23 12:14:45,267 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 56 [2018-11-23 12:14:45,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:45,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:14:45,377 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:45,377 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:14:45,378 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:14:45,378 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:45,378 INFO L87 Difference]: Start difference. First operand 39 states and 43 transitions. Second operand 11 states. [2018-11-23 12:14:45,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:45,965 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2018-11-23 12:14:45,965 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:14:45,965 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 56 [2018-11-23 12:14:45,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:45,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:45,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:14:45,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:45,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 74 transitions. [2018-11-23 12:14:45,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 74 transitions. [2018-11-23 12:14:46,054 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:46,055 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:14:46,056 INFO L226 Difference]: Without dead ends: 45 [2018-11-23 12:14:46,056 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:46,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-11-23 12:14:46,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2018-11-23 12:14:46,073 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:46,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 43 states. [2018-11-23 12:14:46,074 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 43 states. [2018-11-23 12:14:46,074 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 43 states. [2018-11-23 12:14:46,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:46,077 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2018-11-23 12:14:46,078 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2018-11-23 12:14:46,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:46,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:46,078 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 45 states. [2018-11-23 12:14:46,079 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 45 states. [2018-11-23 12:14:46,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:46,080 INFO L93 Difference]: Finished difference Result 45 states and 49 transitions. [2018-11-23 12:14:46,080 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 49 transitions. [2018-11-23 12:14:46,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:46,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:46,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:46,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:46,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:14:46,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2018-11-23 12:14:46,083 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 56 [2018-11-23 12:14:46,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:46,083 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2018-11-23 12:14:46,083 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:14:46,083 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2018-11-23 12:14:46,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 12:14:46,084 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:46,084 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 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:14:46,085 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:46,085 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:46,085 INFO L82 PathProgramCache]: Analyzing trace with hash 968039375, now seen corresponding path program 6 times [2018-11-23 12:14:46,085 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:46,085 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:46,086 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:46,086 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:46,086 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:46,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:46,266 INFO L256 TraceCheckUtils]: 0: Hoare triple {2635#true} call ULTIMATE.init(); {2635#true} is VALID [2018-11-23 12:14:46,267 INFO L273 TraceCheckUtils]: 1: Hoare triple {2635#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2635#true} is VALID [2018-11-23 12:14:46,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,268 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2635#true} {2635#true} #66#return; {2635#true} is VALID [2018-11-23 12:14:46,268 INFO L256 TraceCheckUtils]: 4: Hoare triple {2635#true} call #t~ret12 := main(); {2635#true} is VALID [2018-11-23 12:14:46,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {2635#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2637#(= main_~i~1 0)} is VALID [2018-11-23 12:14:46,273 INFO L273 TraceCheckUtils]: 6: Hoare triple {2637#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2637#(= main_~i~1 0)} is VALID [2018-11-23 12:14:46,273 INFO L273 TraceCheckUtils]: 7: Hoare triple {2637#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2638#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:46,274 INFO L273 TraceCheckUtils]: 8: Hoare triple {2638#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2638#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:46,274 INFO L273 TraceCheckUtils]: 9: Hoare triple {2638#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2639#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:46,275 INFO L273 TraceCheckUtils]: 10: Hoare triple {2639#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2639#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:46,275 INFO L273 TraceCheckUtils]: 11: Hoare triple {2639#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2640#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:46,275 INFO L273 TraceCheckUtils]: 12: Hoare triple {2640#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2640#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:46,276 INFO L273 TraceCheckUtils]: 13: Hoare triple {2640#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2641#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:46,276 INFO L273 TraceCheckUtils]: 14: Hoare triple {2641#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2641#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:46,277 INFO L273 TraceCheckUtils]: 15: Hoare triple {2641#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2642#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:46,277 INFO L273 TraceCheckUtils]: 16: Hoare triple {2642#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2642#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:46,278 INFO L273 TraceCheckUtils]: 17: Hoare triple {2642#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2643#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:46,279 INFO L273 TraceCheckUtils]: 18: Hoare triple {2643#(<= main_~i~1 6)} assume !(~i~1 < 20); {2636#false} is VALID [2018-11-23 12:14:46,279 INFO L256 TraceCheckUtils]: 19: Hoare triple {2636#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2635#true} is VALID [2018-11-23 12:14:46,279 INFO L273 TraceCheckUtils]: 20: Hoare triple {2635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2635#true} is VALID [2018-11-23 12:14:46,280 INFO L273 TraceCheckUtils]: 21: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,280 INFO L273 TraceCheckUtils]: 22: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,280 INFO L273 TraceCheckUtils]: 23: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,280 INFO L273 TraceCheckUtils]: 24: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,281 INFO L273 TraceCheckUtils]: 25: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,281 INFO L273 TraceCheckUtils]: 26: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,281 INFO L273 TraceCheckUtils]: 27: Hoare triple {2635#true} assume !(~i~0 < 20); {2635#true} is VALID [2018-11-23 12:14:46,281 INFO L273 TraceCheckUtils]: 28: Hoare triple {2635#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2635#true} is VALID [2018-11-23 12:14:46,281 INFO L273 TraceCheckUtils]: 29: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,282 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2635#true} {2636#false} #70#return; {2636#false} is VALID [2018-11-23 12:14:46,282 INFO L273 TraceCheckUtils]: 31: Hoare triple {2636#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2636#false} is VALID [2018-11-23 12:14:46,282 INFO L256 TraceCheckUtils]: 32: Hoare triple {2636#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2635#true} is VALID [2018-11-23 12:14:46,282 INFO L273 TraceCheckUtils]: 33: Hoare triple {2635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2635#true} is VALID [2018-11-23 12:14:46,283 INFO L273 TraceCheckUtils]: 34: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,283 INFO L273 TraceCheckUtils]: 35: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,283 INFO L273 TraceCheckUtils]: 36: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,283 INFO L273 TraceCheckUtils]: 37: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,283 INFO L273 TraceCheckUtils]: 38: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,284 INFO L273 TraceCheckUtils]: 39: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,284 INFO L273 TraceCheckUtils]: 40: Hoare triple {2635#true} assume !(~i~0 < 20); {2635#true} is VALID [2018-11-23 12:14:46,284 INFO L273 TraceCheckUtils]: 41: Hoare triple {2635#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2635#true} is VALID [2018-11-23 12:14:46,284 INFO L273 TraceCheckUtils]: 42: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,285 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2635#true} {2636#false} #72#return; {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 44: Hoare triple {2636#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 45: Hoare triple {2636#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 46: Hoare triple {2636#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 47: Hoare triple {2636#false} assume !(~i~2 < 19); {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 48: Hoare triple {2636#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2636#false} is VALID [2018-11-23 12:14:46,285 INFO L256 TraceCheckUtils]: 49: Hoare triple {2636#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2635#true} is VALID [2018-11-23 12:14:46,285 INFO L273 TraceCheckUtils]: 50: Hoare triple {2635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 51: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 52: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 53: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 54: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 55: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 56: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 57: Hoare triple {2635#true} assume !(~i~0 < 20); {2635#true} is VALID [2018-11-23 12:14:46,286 INFO L273 TraceCheckUtils]: 58: Hoare triple {2635#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2635#true} is VALID [2018-11-23 12:14:46,287 INFO L273 TraceCheckUtils]: 59: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,287 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {2635#true} {2636#false} #74#return; {2636#false} is VALID [2018-11-23 12:14:46,287 INFO L273 TraceCheckUtils]: 61: Hoare triple {2636#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2636#false} is VALID [2018-11-23 12:14:46,287 INFO L273 TraceCheckUtils]: 62: Hoare triple {2636#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2636#false} is VALID [2018-11-23 12:14:46,287 INFO L273 TraceCheckUtils]: 63: Hoare triple {2636#false} assume !false; {2636#false} is VALID [2018-11-23 12:14:46,289 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 115 trivial. 0 not checked. [2018-11-23 12:14:46,289 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:46,289 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:46,299 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:14:46,386 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:14:46,386 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:46,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:46,427 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:46,600 INFO L256 TraceCheckUtils]: 0: Hoare triple {2635#true} call ULTIMATE.init(); {2635#true} is VALID [2018-11-23 12:14:46,600 INFO L273 TraceCheckUtils]: 1: Hoare triple {2635#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2635#true} is VALID [2018-11-23 12:14:46,600 INFO L273 TraceCheckUtils]: 2: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2635#true} {2635#true} #66#return; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L256 TraceCheckUtils]: 4: Hoare triple {2635#true} call #t~ret12 := main(); {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L273 TraceCheckUtils]: 5: Hoare triple {2635#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L273 TraceCheckUtils]: 6: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L273 TraceCheckUtils]: 7: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L273 TraceCheckUtils]: 8: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,601 INFO L273 TraceCheckUtils]: 9: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 10: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 11: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 12: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 13: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 14: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 15: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,602 INFO L273 TraceCheckUtils]: 16: Hoare triple {2635#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L273 TraceCheckUtils]: 17: Hoare triple {2635#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L273 TraceCheckUtils]: 18: Hoare triple {2635#true} assume !(~i~1 < 20); {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L256 TraceCheckUtils]: 19: Hoare triple {2635#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L273 TraceCheckUtils]: 20: Hoare triple {2635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L273 TraceCheckUtils]: 21: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,603 INFO L273 TraceCheckUtils]: 22: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,604 INFO L273 TraceCheckUtils]: 23: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,604 INFO L273 TraceCheckUtils]: 24: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,604 INFO L273 TraceCheckUtils]: 25: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,604 INFO L273 TraceCheckUtils]: 26: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,604 INFO L273 TraceCheckUtils]: 27: Hoare triple {2635#true} assume !(~i~0 < 20); {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L273 TraceCheckUtils]: 28: Hoare triple {2635#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L273 TraceCheckUtils]: 29: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2635#true} {2635#true} #70#return; {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L273 TraceCheckUtils]: 31: Hoare triple {2635#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L256 TraceCheckUtils]: 32: Hoare triple {2635#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2635#true} is VALID [2018-11-23 12:14:46,605 INFO L273 TraceCheckUtils]: 33: Hoare triple {2635#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 34: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 35: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 36: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 37: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 38: Hoare triple {2635#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 39: Hoare triple {2635#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2635#true} is VALID [2018-11-23 12:14:46,606 INFO L273 TraceCheckUtils]: 40: Hoare triple {2635#true} assume !(~i~0 < 20); {2635#true} is VALID [2018-11-23 12:14:46,607 INFO L273 TraceCheckUtils]: 41: Hoare triple {2635#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2635#true} is VALID [2018-11-23 12:14:46,607 INFO L273 TraceCheckUtils]: 42: Hoare triple {2635#true} assume true; {2635#true} is VALID [2018-11-23 12:14:46,607 INFO L268 TraceCheckUtils]: 43: Hoare quadruple {2635#true} {2635#true} #72#return; {2635#true} is VALID [2018-11-23 12:14:46,607 INFO L273 TraceCheckUtils]: 44: Hoare triple {2635#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {2779#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:46,608 INFO L273 TraceCheckUtils]: 45: Hoare triple {2779#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2779#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:46,608 INFO L273 TraceCheckUtils]: 46: Hoare triple {2779#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2786#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:46,609 INFO L273 TraceCheckUtils]: 47: Hoare triple {2786#(<= main_~i~2 1)} assume !(~i~2 < 19); {2636#false} is VALID [2018-11-23 12:14:46,609 INFO L273 TraceCheckUtils]: 48: Hoare triple {2636#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {2636#false} is VALID [2018-11-23 12:14:46,609 INFO L256 TraceCheckUtils]: 49: Hoare triple {2636#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2636#false} is VALID [2018-11-23 12:14:46,609 INFO L273 TraceCheckUtils]: 50: Hoare triple {2636#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2636#false} is VALID [2018-11-23 12:14:46,609 INFO L273 TraceCheckUtils]: 51: Hoare triple {2636#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2636#false} is VALID [2018-11-23 12:14:46,609 INFO L273 TraceCheckUtils]: 52: Hoare triple {2636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2636#false} is VALID [2018-11-23 12:14:46,610 INFO L273 TraceCheckUtils]: 53: Hoare triple {2636#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2636#false} is VALID [2018-11-23 12:14:46,610 INFO L273 TraceCheckUtils]: 54: Hoare triple {2636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2636#false} is VALID [2018-11-23 12:14:46,610 INFO L273 TraceCheckUtils]: 55: Hoare triple {2636#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2636#false} is VALID [2018-11-23 12:14:46,610 INFO L273 TraceCheckUtils]: 56: Hoare triple {2636#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2636#false} is VALID [2018-11-23 12:14:46,610 INFO L273 TraceCheckUtils]: 57: Hoare triple {2636#false} assume !(~i~0 < 20); {2636#false} is VALID [2018-11-23 12:14:46,611 INFO L273 TraceCheckUtils]: 58: Hoare triple {2636#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {2636#false} is VALID [2018-11-23 12:14:46,611 INFO L273 TraceCheckUtils]: 59: Hoare triple {2636#false} assume true; {2636#false} is VALID [2018-11-23 12:14:46,611 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {2636#false} {2636#false} #74#return; {2636#false} is VALID [2018-11-23 12:14:46,611 INFO L273 TraceCheckUtils]: 61: Hoare triple {2636#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2636#false} is VALID [2018-11-23 12:14:46,612 INFO L273 TraceCheckUtils]: 62: Hoare triple {2636#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2636#false} is VALID [2018-11-23 12:14:46,612 INFO L273 TraceCheckUtils]: 63: Hoare triple {2636#false} assume !false; {2636#false} is VALID [2018-11-23 12:14:46,615 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 58 proven. 1 refuted. 0 times theorem prover too weak. 92 trivial. 0 not checked. [2018-11-23 12:14:46,644 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:46,644 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 4] total 11 [2018-11-23 12:14:46,645 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 64 [2018-11-23 12:14:46,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:46,645 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:14:46,790 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:46,790 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:14:46,790 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:14:46,791 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:46,791 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand 11 states. [2018-11-23 12:14:47,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:47,088 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-23 12:14:47,088 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:14:47,089 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 64 [2018-11-23 12:14:47,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:47,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:47,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 71 transitions. [2018-11-23 12:14:47,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:47,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 71 transitions. [2018-11-23 12:14:47,093 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 71 transitions. [2018-11-23 12:14:47,192 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:47,194 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:14:47,194 INFO L226 Difference]: Without dead ends: 49 [2018-11-23 12:14:47,195 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:47,195 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2018-11-23 12:14:47,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2018-11-23 12:14:47,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:47,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 47 states. [2018-11-23 12:14:47,214 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 47 states. [2018-11-23 12:14:47,214 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 47 states. [2018-11-23 12:14:47,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:47,217 INFO L93 Difference]: Finished difference Result 49 states and 53 transitions. [2018-11-23 12:14:47,217 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 12:14:47,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:47,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:47,217 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 49 states. [2018-11-23 12:14:47,218 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 49 states. [2018-11-23 12:14:47,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:47,219 INFO L93 Difference]: Finished difference Result 49 states and 53 transitions. [2018-11-23 12:14:47,219 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 12:14:47,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:47,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:47,219 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:47,219 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:47,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 12:14:47,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2018-11-23 12:14:47,221 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 64 [2018-11-23 12:14:47,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:47,221 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2018-11-23 12:14:47,221 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:14:47,221 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-23 12:14:47,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 12:14:47,222 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:47,222 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 7, 7, 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:14:47,222 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:47,223 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:47,223 INFO L82 PathProgramCache]: Analyzing trace with hash -117250513, now seen corresponding path program 7 times [2018-11-23 12:14:47,223 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:47,223 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:47,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:47,224 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:47,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:47,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:47,433 INFO L256 TraceCheckUtils]: 0: Hoare triple {3111#true} call ULTIMATE.init(); {3111#true} is VALID [2018-11-23 12:14:47,433 INFO L273 TraceCheckUtils]: 1: Hoare triple {3111#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3111#true} is VALID [2018-11-23 12:14:47,434 INFO L273 TraceCheckUtils]: 2: Hoare triple {3111#true} assume true; {3111#true} is VALID [2018-11-23 12:14:47,434 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3111#true} {3111#true} #66#return; {3111#true} is VALID [2018-11-23 12:14:47,434 INFO L256 TraceCheckUtils]: 4: Hoare triple {3111#true} call #t~ret12 := main(); {3111#true} is VALID [2018-11-23 12:14:47,434 INFO L273 TraceCheckUtils]: 5: Hoare triple {3111#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3113#(= main_~i~1 0)} is VALID [2018-11-23 12:14:47,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {3113#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3113#(= main_~i~1 0)} is VALID [2018-11-23 12:14:47,435 INFO L273 TraceCheckUtils]: 7: Hoare triple {3113#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3114#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:47,435 INFO L273 TraceCheckUtils]: 8: Hoare triple {3114#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3114#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:47,436 INFO L273 TraceCheckUtils]: 9: Hoare triple {3114#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3115#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:47,436 INFO L273 TraceCheckUtils]: 10: Hoare triple {3115#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3115#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:47,437 INFO L273 TraceCheckUtils]: 11: Hoare triple {3115#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3116#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:47,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {3116#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3116#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:47,438 INFO L273 TraceCheckUtils]: 13: Hoare triple {3116#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3117#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:47,438 INFO L273 TraceCheckUtils]: 14: Hoare triple {3117#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3117#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:47,438 INFO L273 TraceCheckUtils]: 15: Hoare triple {3117#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3118#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:47,439 INFO L273 TraceCheckUtils]: 16: Hoare triple {3118#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3118#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:47,439 INFO L273 TraceCheckUtils]: 17: Hoare triple {3118#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3119#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:47,440 INFO L273 TraceCheckUtils]: 18: Hoare triple {3119#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3119#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:47,441 INFO L273 TraceCheckUtils]: 19: Hoare triple {3119#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3120#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:47,441 INFO L273 TraceCheckUtils]: 20: Hoare triple {3120#(<= main_~i~1 7)} assume !(~i~1 < 20); {3112#false} is VALID [2018-11-23 12:14:47,442 INFO L256 TraceCheckUtils]: 21: Hoare triple {3112#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3111#true} is VALID [2018-11-23 12:14:47,442 INFO L273 TraceCheckUtils]: 22: Hoare triple {3111#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3111#true} is VALID [2018-11-23 12:14:47,442 INFO L273 TraceCheckUtils]: 23: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,442 INFO L273 TraceCheckUtils]: 24: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,443 INFO L273 TraceCheckUtils]: 25: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,443 INFO L273 TraceCheckUtils]: 26: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,443 INFO L273 TraceCheckUtils]: 27: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,443 INFO L273 TraceCheckUtils]: 28: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,444 INFO L273 TraceCheckUtils]: 29: Hoare triple {3111#true} assume !(~i~0 < 20); {3111#true} is VALID [2018-11-23 12:14:47,444 INFO L273 TraceCheckUtils]: 30: Hoare triple {3111#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3111#true} is VALID [2018-11-23 12:14:47,444 INFO L273 TraceCheckUtils]: 31: Hoare triple {3111#true} assume true; {3111#true} is VALID [2018-11-23 12:14:47,444 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3111#true} {3112#false} #70#return; {3112#false} is VALID [2018-11-23 12:14:47,445 INFO L273 TraceCheckUtils]: 33: Hoare triple {3112#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3112#false} is VALID [2018-11-23 12:14:47,445 INFO L256 TraceCheckUtils]: 34: Hoare triple {3112#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3111#true} is VALID [2018-11-23 12:14:47,445 INFO L273 TraceCheckUtils]: 35: Hoare triple {3111#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3111#true} is VALID [2018-11-23 12:14:47,445 INFO L273 TraceCheckUtils]: 36: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,445 INFO L273 TraceCheckUtils]: 37: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,445 INFO L273 TraceCheckUtils]: 38: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 39: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 40: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 41: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 42: Hoare triple {3111#true} assume !(~i~0 < 20); {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 43: Hoare triple {3111#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3111#true} is VALID [2018-11-23 12:14:47,446 INFO L273 TraceCheckUtils]: 44: Hoare triple {3111#true} assume true; {3111#true} is VALID [2018-11-23 12:14:47,447 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {3111#true} {3112#false} #72#return; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 46: Hoare triple {3112#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 47: Hoare triple {3112#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 48: Hoare triple {3112#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 49: Hoare triple {3112#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 50: Hoare triple {3112#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3112#false} is VALID [2018-11-23 12:14:47,447 INFO L273 TraceCheckUtils]: 51: Hoare triple {3112#false} assume !(~i~2 < 19); {3112#false} is VALID [2018-11-23 12:14:47,448 INFO L273 TraceCheckUtils]: 52: Hoare triple {3112#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3112#false} is VALID [2018-11-23 12:14:47,448 INFO L256 TraceCheckUtils]: 53: Hoare triple {3112#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3111#true} is VALID [2018-11-23 12:14:47,448 INFO L273 TraceCheckUtils]: 54: Hoare triple {3111#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3111#true} is VALID [2018-11-23 12:14:47,448 INFO L273 TraceCheckUtils]: 55: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,448 INFO L273 TraceCheckUtils]: 56: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,448 INFO L273 TraceCheckUtils]: 57: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 58: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 59: Hoare triple {3111#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 60: Hoare triple {3111#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 61: Hoare triple {3111#true} assume !(~i~0 < 20); {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 62: Hoare triple {3111#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L273 TraceCheckUtils]: 63: Hoare triple {3111#true} assume true; {3111#true} is VALID [2018-11-23 12:14:47,449 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {3111#true} {3112#false} #74#return; {3112#false} is VALID [2018-11-23 12:14:47,450 INFO L273 TraceCheckUtils]: 65: Hoare triple {3112#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3112#false} is VALID [2018-11-23 12:14:47,450 INFO L273 TraceCheckUtils]: 66: Hoare triple {3112#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3112#false} is VALID [2018-11-23 12:14:47,450 INFO L273 TraceCheckUtils]: 67: Hoare triple {3112#false} assume !false; {3112#false} is VALID [2018-11-23 12:14:47,455 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:47,456 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:47,456 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:47,470 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:47,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:47,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:47,525 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:47,637 INFO L256 TraceCheckUtils]: 0: Hoare triple {3111#true} call ULTIMATE.init(); {3111#true} is VALID [2018-11-23 12:14:47,637 INFO L273 TraceCheckUtils]: 1: Hoare triple {3111#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3111#true} is VALID [2018-11-23 12:14:47,638 INFO L273 TraceCheckUtils]: 2: Hoare triple {3111#true} assume true; {3111#true} is VALID [2018-11-23 12:14:47,638 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3111#true} {3111#true} #66#return; {3111#true} is VALID [2018-11-23 12:14:47,638 INFO L256 TraceCheckUtils]: 4: Hoare triple {3111#true} call #t~ret12 := main(); {3111#true} is VALID [2018-11-23 12:14:47,639 INFO L273 TraceCheckUtils]: 5: Hoare triple {3111#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3139#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:47,639 INFO L273 TraceCheckUtils]: 6: Hoare triple {3139#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3139#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:47,640 INFO L273 TraceCheckUtils]: 7: Hoare triple {3139#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3114#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:47,640 INFO L273 TraceCheckUtils]: 8: Hoare triple {3114#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3114#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:47,641 INFO L273 TraceCheckUtils]: 9: Hoare triple {3114#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3115#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:47,641 INFO L273 TraceCheckUtils]: 10: Hoare triple {3115#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3115#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:47,642 INFO L273 TraceCheckUtils]: 11: Hoare triple {3115#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3116#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:47,642 INFO L273 TraceCheckUtils]: 12: Hoare triple {3116#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3116#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:47,643 INFO L273 TraceCheckUtils]: 13: Hoare triple {3116#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3117#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:47,644 INFO L273 TraceCheckUtils]: 14: Hoare triple {3117#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3117#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:47,645 INFO L273 TraceCheckUtils]: 15: Hoare triple {3117#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3118#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:47,645 INFO L273 TraceCheckUtils]: 16: Hoare triple {3118#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3118#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:47,646 INFO L273 TraceCheckUtils]: 17: Hoare triple {3118#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3119#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:47,646 INFO L273 TraceCheckUtils]: 18: Hoare triple {3119#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3119#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:47,647 INFO L273 TraceCheckUtils]: 19: Hoare triple {3119#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3120#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:47,648 INFO L273 TraceCheckUtils]: 20: Hoare triple {3120#(<= main_~i~1 7)} assume !(~i~1 < 20); {3112#false} is VALID [2018-11-23 12:14:47,648 INFO L256 TraceCheckUtils]: 21: Hoare triple {3112#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3112#false} is VALID [2018-11-23 12:14:47,648 INFO L273 TraceCheckUtils]: 22: Hoare triple {3112#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3112#false} is VALID [2018-11-23 12:14:47,649 INFO L273 TraceCheckUtils]: 23: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,649 INFO L273 TraceCheckUtils]: 24: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,649 INFO L273 TraceCheckUtils]: 25: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,650 INFO L273 TraceCheckUtils]: 26: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,650 INFO L273 TraceCheckUtils]: 27: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,650 INFO L273 TraceCheckUtils]: 28: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,651 INFO L273 TraceCheckUtils]: 29: Hoare triple {3112#false} assume !(~i~0 < 20); {3112#false} is VALID [2018-11-23 12:14:47,651 INFO L273 TraceCheckUtils]: 30: Hoare triple {3112#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3112#false} is VALID [2018-11-23 12:14:47,651 INFO L273 TraceCheckUtils]: 31: Hoare triple {3112#false} assume true; {3112#false} is VALID [2018-11-23 12:14:47,651 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3112#false} {3112#false} #70#return; {3112#false} is VALID [2018-11-23 12:14:47,651 INFO L273 TraceCheckUtils]: 33: Hoare triple {3112#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L256 TraceCheckUtils]: 34: Hoare triple {3112#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L273 TraceCheckUtils]: 35: Hoare triple {3112#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L273 TraceCheckUtils]: 36: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L273 TraceCheckUtils]: 37: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L273 TraceCheckUtils]: 38: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,652 INFO L273 TraceCheckUtils]: 39: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,653 INFO L273 TraceCheckUtils]: 40: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,653 INFO L273 TraceCheckUtils]: 41: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,653 INFO L273 TraceCheckUtils]: 42: Hoare triple {3112#false} assume !(~i~0 < 20); {3112#false} is VALID [2018-11-23 12:14:47,653 INFO L273 TraceCheckUtils]: 43: Hoare triple {3112#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3112#false} is VALID [2018-11-23 12:14:47,653 INFO L273 TraceCheckUtils]: 44: Hoare triple {3112#false} assume true; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {3112#false} {3112#false} #72#return; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L273 TraceCheckUtils]: 46: Hoare triple {3112#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L273 TraceCheckUtils]: 47: Hoare triple {3112#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L273 TraceCheckUtils]: 48: Hoare triple {3112#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L273 TraceCheckUtils]: 49: Hoare triple {3112#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3112#false} is VALID [2018-11-23 12:14:47,654 INFO L273 TraceCheckUtils]: 50: Hoare triple {3112#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L273 TraceCheckUtils]: 51: Hoare triple {3112#false} assume !(~i~2 < 19); {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L273 TraceCheckUtils]: 52: Hoare triple {3112#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L256 TraceCheckUtils]: 53: Hoare triple {3112#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L273 TraceCheckUtils]: 54: Hoare triple {3112#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L273 TraceCheckUtils]: 55: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,655 INFO L273 TraceCheckUtils]: 56: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 57: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 58: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 59: Hoare triple {3112#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 60: Hoare triple {3112#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 61: Hoare triple {3112#false} assume !(~i~0 < 20); {3112#false} is VALID [2018-11-23 12:14:47,656 INFO L273 TraceCheckUtils]: 62: Hoare triple {3112#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3112#false} is VALID [2018-11-23 12:14:47,657 INFO L273 TraceCheckUtils]: 63: Hoare triple {3112#false} assume true; {3112#false} is VALID [2018-11-23 12:14:47,657 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {3112#false} {3112#false} #74#return; {3112#false} is VALID [2018-11-23 12:14:47,657 INFO L273 TraceCheckUtils]: 65: Hoare triple {3112#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3112#false} is VALID [2018-11-23 12:14:47,657 INFO L273 TraceCheckUtils]: 66: Hoare triple {3112#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3112#false} is VALID [2018-11-23 12:14:47,657 INFO L273 TraceCheckUtils]: 67: Hoare triple {3112#false} assume !false; {3112#false} is VALID [2018-11-23 12:14:47,660 INFO L134 CoverageAnalysis]: Checked inductivity of 167 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:47,679 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:47,680 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 12:14:47,680 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 68 [2018-11-23 12:14:47,681 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:47,681 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:14:47,742 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:47,743 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:14:47,743 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:14:47,743 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:47,744 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand 11 states. [2018-11-23 12:14:48,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:48,014 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2018-11-23 12:14:48,014 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:14:48,014 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 68 [2018-11-23 12:14:48,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:48,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:48,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 68 transitions. [2018-11-23 12:14:48,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:14:48,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 68 transitions. [2018-11-23 12:14:48,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 68 transitions. [2018-11-23 12:14:48,090 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:48,092 INFO L225 Difference]: With dead ends: 76 [2018-11-23 12:14:48,092 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:14:48,093 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:14:48,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:14:48,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2018-11-23 12:14:48,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:48,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:48,124 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:48,125 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:48,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:48,126 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:14:48,126 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:14:48,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:48,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:48,127 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 50 states. [2018-11-23 12:14:48,127 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 50 states. [2018-11-23 12:14:48,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:48,128 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:14:48,129 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:14:48,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:48,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:48,129 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:48,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:48,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:14:48,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-23 12:14:48,132 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 68 [2018-11-23 12:14:48,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:48,132 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-23 12:14:48,132 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:14:48,132 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 12:14:48,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2018-11-23 12:14:48,133 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:48,133 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 8, 8, 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:14:48,133 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:48,134 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:48,134 INFO L82 PathProgramCache]: Analyzing trace with hash 1594227089, now seen corresponding path program 8 times [2018-11-23 12:14:48,134 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:48,134 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:48,135 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:48,135 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:48,135 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:48,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:48,365 INFO L256 TraceCheckUtils]: 0: Hoare triple {3609#true} call ULTIMATE.init(); {3609#true} is VALID [2018-11-23 12:14:48,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {3609#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3609#true} is VALID [2018-11-23 12:14:48,365 INFO L273 TraceCheckUtils]: 2: Hoare triple {3609#true} assume true; {3609#true} is VALID [2018-11-23 12:14:48,366 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3609#true} {3609#true} #66#return; {3609#true} is VALID [2018-11-23 12:14:48,366 INFO L256 TraceCheckUtils]: 4: Hoare triple {3609#true} call #t~ret12 := main(); {3609#true} is VALID [2018-11-23 12:14:48,366 INFO L273 TraceCheckUtils]: 5: Hoare triple {3609#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3611#(= main_~i~1 0)} is VALID [2018-11-23 12:14:48,366 INFO L273 TraceCheckUtils]: 6: Hoare triple {3611#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3611#(= main_~i~1 0)} is VALID [2018-11-23 12:14:48,367 INFO L273 TraceCheckUtils]: 7: Hoare triple {3611#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3612#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:48,368 INFO L273 TraceCheckUtils]: 8: Hoare triple {3612#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3612#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:48,369 INFO L273 TraceCheckUtils]: 9: Hoare triple {3612#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3613#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:48,369 INFO L273 TraceCheckUtils]: 10: Hoare triple {3613#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3613#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:48,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {3613#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3614#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:48,371 INFO L273 TraceCheckUtils]: 12: Hoare triple {3614#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3614#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:48,371 INFO L273 TraceCheckUtils]: 13: Hoare triple {3614#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3615#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:48,372 INFO L273 TraceCheckUtils]: 14: Hoare triple {3615#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3615#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:48,373 INFO L273 TraceCheckUtils]: 15: Hoare triple {3615#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3616#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:48,373 INFO L273 TraceCheckUtils]: 16: Hoare triple {3616#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3616#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:48,374 INFO L273 TraceCheckUtils]: 17: Hoare triple {3616#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3617#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:48,375 INFO L273 TraceCheckUtils]: 18: Hoare triple {3617#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3617#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:48,375 INFO L273 TraceCheckUtils]: 19: Hoare triple {3617#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3618#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:48,376 INFO L273 TraceCheckUtils]: 20: Hoare triple {3618#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3618#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:48,377 INFO L273 TraceCheckUtils]: 21: Hoare triple {3618#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3619#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:48,378 INFO L273 TraceCheckUtils]: 22: Hoare triple {3619#(<= main_~i~1 8)} assume !(~i~1 < 20); {3610#false} is VALID [2018-11-23 12:14:48,378 INFO L256 TraceCheckUtils]: 23: Hoare triple {3610#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3609#true} is VALID [2018-11-23 12:14:48,378 INFO L273 TraceCheckUtils]: 24: Hoare triple {3609#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3609#true} is VALID [2018-11-23 12:14:48,378 INFO L273 TraceCheckUtils]: 25: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,378 INFO L273 TraceCheckUtils]: 26: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,379 INFO L273 TraceCheckUtils]: 27: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,379 INFO L273 TraceCheckUtils]: 28: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,379 INFO L273 TraceCheckUtils]: 29: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,379 INFO L273 TraceCheckUtils]: 30: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,380 INFO L273 TraceCheckUtils]: 31: Hoare triple {3609#true} assume !(~i~0 < 20); {3609#true} is VALID [2018-11-23 12:14:48,380 INFO L273 TraceCheckUtils]: 32: Hoare triple {3609#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3609#true} is VALID [2018-11-23 12:14:48,380 INFO L273 TraceCheckUtils]: 33: Hoare triple {3609#true} assume true; {3609#true} is VALID [2018-11-23 12:14:48,380 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3609#true} {3610#false} #70#return; {3610#false} is VALID [2018-11-23 12:14:48,380 INFO L273 TraceCheckUtils]: 35: Hoare triple {3610#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3610#false} is VALID [2018-11-23 12:14:48,381 INFO L256 TraceCheckUtils]: 36: Hoare triple {3610#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 37: Hoare triple {3609#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 38: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 39: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 40: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 41: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 42: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,381 INFO L273 TraceCheckUtils]: 43: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,382 INFO L273 TraceCheckUtils]: 44: Hoare triple {3609#true} assume !(~i~0 < 20); {3609#true} is VALID [2018-11-23 12:14:48,382 INFO L273 TraceCheckUtils]: 45: Hoare triple {3609#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3609#true} is VALID [2018-11-23 12:14:48,382 INFO L273 TraceCheckUtils]: 46: Hoare triple {3609#true} assume true; {3609#true} is VALID [2018-11-23 12:14:48,382 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3609#true} {3610#false} #72#return; {3610#false} is VALID [2018-11-23 12:14:48,382 INFO L273 TraceCheckUtils]: 48: Hoare triple {3610#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {3610#false} is VALID [2018-11-23 12:14:48,382 INFO L273 TraceCheckUtils]: 49: Hoare triple {3610#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L273 TraceCheckUtils]: 50: Hoare triple {3610#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L273 TraceCheckUtils]: 51: Hoare triple {3610#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L273 TraceCheckUtils]: 52: Hoare triple {3610#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L273 TraceCheckUtils]: 53: Hoare triple {3610#false} assume !(~i~2 < 19); {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L273 TraceCheckUtils]: 54: Hoare triple {3610#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3610#false} is VALID [2018-11-23 12:14:48,383 INFO L256 TraceCheckUtils]: 55: Hoare triple {3610#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 56: Hoare triple {3609#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 57: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 58: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 59: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 60: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 61: Hoare triple {3609#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 62: Hoare triple {3609#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3609#true} is VALID [2018-11-23 12:14:48,384 INFO L273 TraceCheckUtils]: 63: Hoare triple {3609#true} assume !(~i~0 < 20); {3609#true} is VALID [2018-11-23 12:14:48,385 INFO L273 TraceCheckUtils]: 64: Hoare triple {3609#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3609#true} is VALID [2018-11-23 12:14:48,385 INFO L273 TraceCheckUtils]: 65: Hoare triple {3609#true} assume true; {3609#true} is VALID [2018-11-23 12:14:48,385 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {3609#true} {3610#false} #74#return; {3610#false} is VALID [2018-11-23 12:14:48,385 INFO L273 TraceCheckUtils]: 67: Hoare triple {3610#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3610#false} is VALID [2018-11-23 12:14:48,385 INFO L273 TraceCheckUtils]: 68: Hoare triple {3610#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3610#false} is VALID [2018-11-23 12:14:48,385 INFO L273 TraceCheckUtils]: 69: Hoare triple {3610#false} assume !false; {3610#false} is VALID [2018-11-23 12:14:48,387 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:48,388 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:48,388 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:48,397 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:14:48,434 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:14:48,435 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:48,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:48,472 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:48,615 INFO L256 TraceCheckUtils]: 0: Hoare triple {3609#true} call ULTIMATE.init(); {3609#true} is VALID [2018-11-23 12:14:48,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {3609#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3609#true} is VALID [2018-11-23 12:14:48,616 INFO L273 TraceCheckUtils]: 2: Hoare triple {3609#true} assume true; {3609#true} is VALID [2018-11-23 12:14:48,616 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3609#true} {3609#true} #66#return; {3609#true} is VALID [2018-11-23 12:14:48,616 INFO L256 TraceCheckUtils]: 4: Hoare triple {3609#true} call #t~ret12 := main(); {3609#true} is VALID [2018-11-23 12:14:48,617 INFO L273 TraceCheckUtils]: 5: Hoare triple {3609#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3638#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:48,617 INFO L273 TraceCheckUtils]: 6: Hoare triple {3638#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3638#(<= main_~i~1 0)} is VALID [2018-11-23 12:14:48,618 INFO L273 TraceCheckUtils]: 7: Hoare triple {3638#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3612#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:48,618 INFO L273 TraceCheckUtils]: 8: Hoare triple {3612#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3612#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:48,619 INFO L273 TraceCheckUtils]: 9: Hoare triple {3612#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3613#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:48,619 INFO L273 TraceCheckUtils]: 10: Hoare triple {3613#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3613#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:48,619 INFO L273 TraceCheckUtils]: 11: Hoare triple {3613#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3614#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:48,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {3614#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3614#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:48,620 INFO L273 TraceCheckUtils]: 13: Hoare triple {3614#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3615#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:48,621 INFO L273 TraceCheckUtils]: 14: Hoare triple {3615#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3615#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:48,622 INFO L273 TraceCheckUtils]: 15: Hoare triple {3615#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3616#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:48,622 INFO L273 TraceCheckUtils]: 16: Hoare triple {3616#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3616#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:48,623 INFO L273 TraceCheckUtils]: 17: Hoare triple {3616#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3617#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:48,624 INFO L273 TraceCheckUtils]: 18: Hoare triple {3617#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3617#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:48,624 INFO L273 TraceCheckUtils]: 19: Hoare triple {3617#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3618#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:48,625 INFO L273 TraceCheckUtils]: 20: Hoare triple {3618#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3618#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:48,626 INFO L273 TraceCheckUtils]: 21: Hoare triple {3618#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3619#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:48,626 INFO L273 TraceCheckUtils]: 22: Hoare triple {3619#(<= main_~i~1 8)} assume !(~i~1 < 20); {3610#false} is VALID [2018-11-23 12:14:48,627 INFO L256 TraceCheckUtils]: 23: Hoare triple {3610#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3610#false} is VALID [2018-11-23 12:14:48,627 INFO L273 TraceCheckUtils]: 24: Hoare triple {3610#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3610#false} is VALID [2018-11-23 12:14:48,627 INFO L273 TraceCheckUtils]: 25: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,627 INFO L273 TraceCheckUtils]: 26: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,628 INFO L273 TraceCheckUtils]: 27: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,628 INFO L273 TraceCheckUtils]: 28: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,628 INFO L273 TraceCheckUtils]: 29: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,628 INFO L273 TraceCheckUtils]: 30: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,628 INFO L273 TraceCheckUtils]: 31: Hoare triple {3610#false} assume !(~i~0 < 20); {3610#false} is VALID [2018-11-23 12:14:48,629 INFO L273 TraceCheckUtils]: 32: Hoare triple {3610#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3610#false} is VALID [2018-11-23 12:14:48,629 INFO L273 TraceCheckUtils]: 33: Hoare triple {3610#false} assume true; {3610#false} is VALID [2018-11-23 12:14:48,629 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3610#false} {3610#false} #70#return; {3610#false} is VALID [2018-11-23 12:14:48,629 INFO L273 TraceCheckUtils]: 35: Hoare triple {3610#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {3610#false} is VALID [2018-11-23 12:14:48,629 INFO L256 TraceCheckUtils]: 36: Hoare triple {3610#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3610#false} is VALID [2018-11-23 12:14:48,630 INFO L273 TraceCheckUtils]: 37: Hoare triple {3610#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3610#false} is VALID [2018-11-23 12:14:48,630 INFO L273 TraceCheckUtils]: 38: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,630 INFO L273 TraceCheckUtils]: 39: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,630 INFO L273 TraceCheckUtils]: 40: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 41: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 42: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 43: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 44: Hoare triple {3610#false} assume !(~i~0 < 20); {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 45: Hoare triple {3610#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L273 TraceCheckUtils]: 46: Hoare triple {3610#false} assume true; {3610#false} is VALID [2018-11-23 12:14:48,631 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3610#false} {3610#false} #72#return; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 48: Hoare triple {3610#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 49: Hoare triple {3610#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 50: Hoare triple {3610#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 51: Hoare triple {3610#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 52: Hoare triple {3610#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 53: Hoare triple {3610#false} assume !(~i~2 < 19); {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L273 TraceCheckUtils]: 54: Hoare triple {3610#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {3610#false} is VALID [2018-11-23 12:14:48,632 INFO L256 TraceCheckUtils]: 55: Hoare triple {3610#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 56: Hoare triple {3610#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 57: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 58: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 59: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 60: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 61: Hoare triple {3610#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 62: Hoare triple {3610#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3610#false} is VALID [2018-11-23 12:14:48,633 INFO L273 TraceCheckUtils]: 63: Hoare triple {3610#false} assume !(~i~0 < 20); {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L273 TraceCheckUtils]: 64: Hoare triple {3610#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L273 TraceCheckUtils]: 65: Hoare triple {3610#false} assume true; {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {3610#false} {3610#false} #74#return; {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L273 TraceCheckUtils]: 67: Hoare triple {3610#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L273 TraceCheckUtils]: 68: Hoare triple {3610#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3610#false} is VALID [2018-11-23 12:14:48,634 INFO L273 TraceCheckUtils]: 69: Hoare triple {3610#false} assume !false; {3610#false} is VALID [2018-11-23 12:14:48,636 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:48,657 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:48,657 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 12 [2018-11-23 12:14:48,658 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2018-11-23 12:14:48,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:48,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 12:14:48,714 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:48,714 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 12:14:48,714 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 12:14:48,715 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:14:48,715 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 12 states. [2018-11-23 12:14:48,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:48,919 INFO L93 Difference]: Finished difference Result 78 states and 86 transitions. [2018-11-23 12:14:48,919 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:14:48,919 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 70 [2018-11-23 12:14:48,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:48,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:14:48,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2018-11-23 12:14:48,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 12:14:48,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2018-11-23 12:14:48,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2018-11-23 12:14:49,011 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:49,013 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:14:49,013 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 12:14:49,014 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=66, Unknown=0, NotChecked=0, Total=132 [2018-11-23 12:14:49,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 12:14:49,038 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 51. [2018-11-23 12:14:49,038 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:49,038 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 51 states. [2018-11-23 12:14:49,038 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 51 states. [2018-11-23 12:14:49,039 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 51 states. [2018-11-23 12:14:49,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:49,040 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2018-11-23 12:14:49,040 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2018-11-23 12:14:49,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:49,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:49,041 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 52 states. [2018-11-23 12:14:49,041 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 52 states. [2018-11-23 12:14:49,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:49,043 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2018-11-23 12:14:49,043 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2018-11-23 12:14:49,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:49,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:49,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:49,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:49,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:14:49,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2018-11-23 12:14:49,045 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 70 [2018-11-23 12:14:49,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:49,046 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2018-11-23 12:14:49,046 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 12:14:49,046 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:14:49,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2018-11-23 12:14:49,047 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:49,047 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 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:14:49,047 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:49,047 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:49,048 INFO L82 PathProgramCache]: Analyzing trace with hash 1351728243, now seen corresponding path program 9 times [2018-11-23 12:14:49,048 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:49,048 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:49,049 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:49,049 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:49,049 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:49,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:49,289 INFO L256 TraceCheckUtils]: 0: Hoare triple {4124#true} call ULTIMATE.init(); {4124#true} is VALID [2018-11-23 12:14:49,290 INFO L273 TraceCheckUtils]: 1: Hoare triple {4124#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4124#true} is VALID [2018-11-23 12:14:49,290 INFO L273 TraceCheckUtils]: 2: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,290 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4124#true} {4124#true} #66#return; {4124#true} is VALID [2018-11-23 12:14:49,291 INFO L256 TraceCheckUtils]: 4: Hoare triple {4124#true} call #t~ret12 := main(); {4124#true} is VALID [2018-11-23 12:14:49,291 INFO L273 TraceCheckUtils]: 5: Hoare triple {4124#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4126#(= main_~i~1 0)} is VALID [2018-11-23 12:14:49,292 INFO L273 TraceCheckUtils]: 6: Hoare triple {4126#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4126#(= main_~i~1 0)} is VALID [2018-11-23 12:14:49,293 INFO L273 TraceCheckUtils]: 7: Hoare triple {4126#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4127#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:49,293 INFO L273 TraceCheckUtils]: 8: Hoare triple {4127#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4127#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:49,294 INFO L273 TraceCheckUtils]: 9: Hoare triple {4127#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4128#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:49,294 INFO L273 TraceCheckUtils]: 10: Hoare triple {4128#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4128#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:49,295 INFO L273 TraceCheckUtils]: 11: Hoare triple {4128#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4129#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:49,295 INFO L273 TraceCheckUtils]: 12: Hoare triple {4129#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4129#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:49,296 INFO L273 TraceCheckUtils]: 13: Hoare triple {4129#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4130#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:49,297 INFO L273 TraceCheckUtils]: 14: Hoare triple {4130#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4130#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:49,298 INFO L273 TraceCheckUtils]: 15: Hoare triple {4130#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4131#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:49,299 INFO L273 TraceCheckUtils]: 16: Hoare triple {4131#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4131#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:49,299 INFO L273 TraceCheckUtils]: 17: Hoare triple {4131#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4132#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:49,300 INFO L273 TraceCheckUtils]: 18: Hoare triple {4132#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4132#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:49,301 INFO L273 TraceCheckUtils]: 19: Hoare triple {4132#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4133#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:49,302 INFO L273 TraceCheckUtils]: 20: Hoare triple {4133#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4133#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:49,303 INFO L273 TraceCheckUtils]: 21: Hoare triple {4133#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4134#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:49,303 INFO L273 TraceCheckUtils]: 22: Hoare triple {4134#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4134#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:49,304 INFO L273 TraceCheckUtils]: 23: Hoare triple {4134#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4135#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:49,305 INFO L273 TraceCheckUtils]: 24: Hoare triple {4135#(<= main_~i~1 9)} assume !(~i~1 < 20); {4125#false} is VALID [2018-11-23 12:14:49,305 INFO L256 TraceCheckUtils]: 25: Hoare triple {4125#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {4124#true} is VALID [2018-11-23 12:14:49,306 INFO L273 TraceCheckUtils]: 26: Hoare triple {4124#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4124#true} is VALID [2018-11-23 12:14:49,306 INFO L273 TraceCheckUtils]: 27: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,306 INFO L273 TraceCheckUtils]: 28: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,306 INFO L273 TraceCheckUtils]: 29: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,307 INFO L273 TraceCheckUtils]: 30: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,307 INFO L273 TraceCheckUtils]: 31: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,307 INFO L273 TraceCheckUtils]: 32: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,307 INFO L273 TraceCheckUtils]: 33: Hoare triple {4124#true} assume !(~i~0 < 20); {4124#true} is VALID [2018-11-23 12:14:49,308 INFO L273 TraceCheckUtils]: 34: Hoare triple {4124#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4124#true} is VALID [2018-11-23 12:14:49,308 INFO L273 TraceCheckUtils]: 35: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,308 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4124#true} {4125#false} #70#return; {4125#false} is VALID [2018-11-23 12:14:49,308 INFO L273 TraceCheckUtils]: 37: Hoare triple {4125#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4125#false} is VALID [2018-11-23 12:14:49,309 INFO L256 TraceCheckUtils]: 38: Hoare triple {4125#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 39: Hoare triple {4124#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 40: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 41: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 42: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 43: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,309 INFO L273 TraceCheckUtils]: 44: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,310 INFO L273 TraceCheckUtils]: 45: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,310 INFO L273 TraceCheckUtils]: 46: Hoare triple {4124#true} assume !(~i~0 < 20); {4124#true} is VALID [2018-11-23 12:14:49,310 INFO L273 TraceCheckUtils]: 47: Hoare triple {4124#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4124#true} is VALID [2018-11-23 12:14:49,310 INFO L273 TraceCheckUtils]: 48: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,310 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4124#true} {4125#false} #72#return; {4125#false} is VALID [2018-11-23 12:14:49,310 INFO L273 TraceCheckUtils]: 50: Hoare triple {4125#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 51: Hoare triple {4125#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 52: Hoare triple {4125#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 53: Hoare triple {4125#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 54: Hoare triple {4125#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 55: Hoare triple {4125#false} assume !(~i~2 < 19); {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L273 TraceCheckUtils]: 56: Hoare triple {4125#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4125#false} is VALID [2018-11-23 12:14:49,311 INFO L256 TraceCheckUtils]: 57: Hoare triple {4125#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 58: Hoare triple {4124#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 59: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 60: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 61: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 62: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,312 INFO L273 TraceCheckUtils]: 63: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,313 INFO L273 TraceCheckUtils]: 64: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,313 INFO L273 TraceCheckUtils]: 65: Hoare triple {4124#true} assume !(~i~0 < 20); {4124#true} is VALID [2018-11-23 12:14:49,313 INFO L273 TraceCheckUtils]: 66: Hoare triple {4124#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4124#true} is VALID [2018-11-23 12:14:49,313 INFO L273 TraceCheckUtils]: 67: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,313 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {4124#true} {4125#false} #74#return; {4125#false} is VALID [2018-11-23 12:14:49,313 INFO L273 TraceCheckUtils]: 69: Hoare triple {4125#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4125#false} is VALID [2018-11-23 12:14:49,314 INFO L273 TraceCheckUtils]: 70: Hoare triple {4125#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4125#false} is VALID [2018-11-23 12:14:49,314 INFO L273 TraceCheckUtils]: 71: Hoare triple {4125#false} assume !false; {4125#false} is VALID [2018-11-23 12:14:49,319 INFO L134 CoverageAnalysis]: Checked inductivity of 199 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:49,319 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:49,319 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:49,329 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:14:49,364 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 12:14:49,364 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:49,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:49,398 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:49,558 INFO L256 TraceCheckUtils]: 0: Hoare triple {4124#true} call ULTIMATE.init(); {4124#true} is VALID [2018-11-23 12:14:49,559 INFO L273 TraceCheckUtils]: 1: Hoare triple {4124#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4124#true} is VALID [2018-11-23 12:14:49,559 INFO L273 TraceCheckUtils]: 2: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,559 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4124#true} {4124#true} #66#return; {4124#true} is VALID [2018-11-23 12:14:49,559 INFO L256 TraceCheckUtils]: 4: Hoare triple {4124#true} call #t~ret12 := main(); {4124#true} is VALID [2018-11-23 12:14:49,560 INFO L273 TraceCheckUtils]: 5: Hoare triple {4124#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4124#true} is VALID [2018-11-23 12:14:49,560 INFO L273 TraceCheckUtils]: 6: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,560 INFO L273 TraceCheckUtils]: 7: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,561 INFO L273 TraceCheckUtils]: 8: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,561 INFO L273 TraceCheckUtils]: 9: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,561 INFO L273 TraceCheckUtils]: 10: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,561 INFO L273 TraceCheckUtils]: 11: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 12: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 13: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 14: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 15: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 16: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,562 INFO L273 TraceCheckUtils]: 17: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 18: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 19: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 20: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 21: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 22: Hoare triple {4124#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4124#true} is VALID [2018-11-23 12:14:49,563 INFO L273 TraceCheckUtils]: 23: Hoare triple {4124#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 24: Hoare triple {4124#true} assume !(~i~1 < 20); {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L256 TraceCheckUtils]: 25: Hoare triple {4124#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 26: Hoare triple {4124#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 27: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 28: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 29: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,564 INFO L273 TraceCheckUtils]: 30: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L273 TraceCheckUtils]: 31: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L273 TraceCheckUtils]: 32: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L273 TraceCheckUtils]: 33: Hoare triple {4124#true} assume !(~i~0 < 20); {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L273 TraceCheckUtils]: 34: Hoare triple {4124#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L273 TraceCheckUtils]: 35: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,565 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {4124#true} {4124#true} #70#return; {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L273 TraceCheckUtils]: 37: Hoare triple {4124#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L256 TraceCheckUtils]: 38: Hoare triple {4124#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L273 TraceCheckUtils]: 39: Hoare triple {4124#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L273 TraceCheckUtils]: 40: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L273 TraceCheckUtils]: 41: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,566 INFO L273 TraceCheckUtils]: 42: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 43: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 44: Hoare triple {4124#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 45: Hoare triple {4124#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 46: Hoare triple {4124#true} assume !(~i~0 < 20); {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 47: Hoare triple {4124#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L273 TraceCheckUtils]: 48: Hoare triple {4124#true} assume true; {4124#true} is VALID [2018-11-23 12:14:49,567 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {4124#true} {4124#true} #72#return; {4124#true} is VALID [2018-11-23 12:14:49,568 INFO L273 TraceCheckUtils]: 50: Hoare triple {4124#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4289#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:49,569 INFO L273 TraceCheckUtils]: 51: Hoare triple {4289#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4289#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:49,569 INFO L273 TraceCheckUtils]: 52: Hoare triple {4289#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4296#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:49,570 INFO L273 TraceCheckUtils]: 53: Hoare triple {4296#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4296#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:49,570 INFO L273 TraceCheckUtils]: 54: Hoare triple {4296#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4303#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:49,571 INFO L273 TraceCheckUtils]: 55: Hoare triple {4303#(<= main_~i~2 2)} assume !(~i~2 < 19); {4125#false} is VALID [2018-11-23 12:14:49,571 INFO L273 TraceCheckUtils]: 56: Hoare triple {4125#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4125#false} is VALID [2018-11-23 12:14:49,571 INFO L256 TraceCheckUtils]: 57: Hoare triple {4125#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {4125#false} is VALID [2018-11-23 12:14:49,571 INFO L273 TraceCheckUtils]: 58: Hoare triple {4125#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4125#false} is VALID [2018-11-23 12:14:49,572 INFO L273 TraceCheckUtils]: 59: Hoare triple {4125#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4125#false} is VALID [2018-11-23 12:14:49,572 INFO L273 TraceCheckUtils]: 60: Hoare triple {4125#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4125#false} is VALID [2018-11-23 12:14:49,572 INFO L273 TraceCheckUtils]: 61: Hoare triple {4125#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4125#false} is VALID [2018-11-23 12:14:49,572 INFO L273 TraceCheckUtils]: 62: Hoare triple {4125#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4125#false} is VALID [2018-11-23 12:14:49,573 INFO L273 TraceCheckUtils]: 63: Hoare triple {4125#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4125#false} is VALID [2018-11-23 12:14:49,573 INFO L273 TraceCheckUtils]: 64: Hoare triple {4125#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4125#false} is VALID [2018-11-23 12:14:49,573 INFO L273 TraceCheckUtils]: 65: Hoare triple {4125#false} assume !(~i~0 < 20); {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L273 TraceCheckUtils]: 66: Hoare triple {4125#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L273 TraceCheckUtils]: 67: Hoare triple {4125#false} assume true; {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {4125#false} {4125#false} #74#return; {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L273 TraceCheckUtils]: 69: Hoare triple {4125#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L273 TraceCheckUtils]: 70: Hoare triple {4125#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4125#false} is VALID [2018-11-23 12:14:49,574 INFO L273 TraceCheckUtils]: 71: Hoare triple {4125#false} assume !false; {4125#false} is VALID [2018-11-23 12:14:49,579 INFO L134 CoverageAnalysis]: Checked inductivity of 199 backedges. 58 proven. 4 refuted. 0 times theorem prover too weak. 137 trivial. 0 not checked. [2018-11-23 12:14:49,600 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:49,600 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 5] total 15 [2018-11-23 12:14:49,601 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 72 [2018-11-23 12:14:49,601 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:49,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:14:49,696 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:49,696 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:14:49,697 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:14:49,697 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:14:49,697 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand 15 states. [2018-11-23 12:14:50,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:50,238 INFO L93 Difference]: Finished difference Result 83 states and 92 transitions. [2018-11-23 12:14:50,238 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:14:50,238 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 72 [2018-11-23 12:14:50,238 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:50,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:14:50,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 79 transitions. [2018-11-23 12:14:50,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:14:50,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 79 transitions. [2018-11-23 12:14:50,241 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 79 transitions. [2018-11-23 12:14:50,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:50,349 INFO L225 Difference]: With dead ends: 83 [2018-11-23 12:14:50,349 INFO L226 Difference]: Without dead ends: 57 [2018-11-23 12:14:50,350 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:14:50,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-11-23 12:14:50,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2018-11-23 12:14:50,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:50,395 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 55 states. [2018-11-23 12:14:50,395 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 55 states. [2018-11-23 12:14:50,396 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 55 states. [2018-11-23 12:14:50,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:50,397 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2018-11-23 12:14:50,397 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2018-11-23 12:14:50,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:50,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:50,398 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 57 states. [2018-11-23 12:14:50,398 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 57 states. [2018-11-23 12:14:50,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:50,399 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2018-11-23 12:14:50,399 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2018-11-23 12:14:50,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:50,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:50,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:50,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:50,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-11-23 12:14:50,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 59 transitions. [2018-11-23 12:14:50,402 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 59 transitions. Word has length 72 [2018-11-23 12:14:50,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:50,402 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 59 transitions. [2018-11-23 12:14:50,402 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:14:50,403 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 59 transitions. [2018-11-23 12:14:50,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-23 12:14:50,403 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:50,404 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 9, 9, 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:14:50,404 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:50,404 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:50,404 INFO L82 PathProgramCache]: Analyzing trace with hash 1743973331, now seen corresponding path program 10 times [2018-11-23 12:14:50,404 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:50,405 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:50,405 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:50,405 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:50,406 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:50,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:51,001 INFO L256 TraceCheckUtils]: 0: Hoare triple {4671#true} call ULTIMATE.init(); {4671#true} is VALID [2018-11-23 12:14:51,001 INFO L273 TraceCheckUtils]: 1: Hoare triple {4671#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4671#true} is VALID [2018-11-23 12:14:51,001 INFO L273 TraceCheckUtils]: 2: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,002 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4671#true} {4671#true} #66#return; {4671#true} is VALID [2018-11-23 12:14:51,002 INFO L256 TraceCheckUtils]: 4: Hoare triple {4671#true} call #t~ret12 := main(); {4671#true} is VALID [2018-11-23 12:14:51,003 INFO L273 TraceCheckUtils]: 5: Hoare triple {4671#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4673#(= main_~i~1 0)} is VALID [2018-11-23 12:14:51,003 INFO L273 TraceCheckUtils]: 6: Hoare triple {4673#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4673#(= main_~i~1 0)} is VALID [2018-11-23 12:14:51,004 INFO L273 TraceCheckUtils]: 7: Hoare triple {4673#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4674#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:51,004 INFO L273 TraceCheckUtils]: 8: Hoare triple {4674#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4674#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:51,005 INFO L273 TraceCheckUtils]: 9: Hoare triple {4674#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4675#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:51,005 INFO L273 TraceCheckUtils]: 10: Hoare triple {4675#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4675#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:51,005 INFO L273 TraceCheckUtils]: 11: Hoare triple {4675#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4676#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:51,006 INFO L273 TraceCheckUtils]: 12: Hoare triple {4676#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4676#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:51,007 INFO L273 TraceCheckUtils]: 13: Hoare triple {4676#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4677#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:51,007 INFO L273 TraceCheckUtils]: 14: Hoare triple {4677#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4677#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:51,008 INFO L273 TraceCheckUtils]: 15: Hoare triple {4677#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4678#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:51,009 INFO L273 TraceCheckUtils]: 16: Hoare triple {4678#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4678#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:51,010 INFO L273 TraceCheckUtils]: 17: Hoare triple {4678#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4679#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:51,010 INFO L273 TraceCheckUtils]: 18: Hoare triple {4679#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4679#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:51,011 INFO L273 TraceCheckUtils]: 19: Hoare triple {4679#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4680#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:51,011 INFO L273 TraceCheckUtils]: 20: Hoare triple {4680#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4680#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:51,012 INFO L273 TraceCheckUtils]: 21: Hoare triple {4680#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4681#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:51,013 INFO L273 TraceCheckUtils]: 22: Hoare triple {4681#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4681#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:51,013 INFO L273 TraceCheckUtils]: 23: Hoare triple {4681#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4682#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:51,014 INFO L273 TraceCheckUtils]: 24: Hoare triple {4682#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4682#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:51,015 INFO L273 TraceCheckUtils]: 25: Hoare triple {4682#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4683#(<= main_~i~1 10)} is VALID [2018-11-23 12:14:51,015 INFO L273 TraceCheckUtils]: 26: Hoare triple {4683#(<= main_~i~1 10)} assume !(~i~1 < 20); {4672#false} is VALID [2018-11-23 12:14:51,016 INFO L256 TraceCheckUtils]: 27: Hoare triple {4672#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,016 INFO L273 TraceCheckUtils]: 28: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4671#true} is VALID [2018-11-23 12:14:51,016 INFO L273 TraceCheckUtils]: 29: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,016 INFO L273 TraceCheckUtils]: 30: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,017 INFO L273 TraceCheckUtils]: 31: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,017 INFO L273 TraceCheckUtils]: 32: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,017 INFO L273 TraceCheckUtils]: 33: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,017 INFO L273 TraceCheckUtils]: 34: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,017 INFO L273 TraceCheckUtils]: 35: Hoare triple {4671#true} assume !(~i~0 < 20); {4671#true} is VALID [2018-11-23 12:14:51,018 INFO L273 TraceCheckUtils]: 36: Hoare triple {4671#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4671#true} is VALID [2018-11-23 12:14:51,018 INFO L273 TraceCheckUtils]: 37: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,018 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4671#true} {4672#false} #70#return; {4672#false} is VALID [2018-11-23 12:14:51,018 INFO L273 TraceCheckUtils]: 39: Hoare triple {4672#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4672#false} is VALID [2018-11-23 12:14:51,019 INFO L256 TraceCheckUtils]: 40: Hoare triple {4672#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 41: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 42: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 43: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 44: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 45: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 46: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 47: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,019 INFO L273 TraceCheckUtils]: 48: Hoare triple {4671#true} assume !(~i~0 < 20); {4671#true} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 49: Hoare triple {4671#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4671#true} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 50: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,020 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4671#true} {4672#false} #72#return; {4672#false} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 52: Hoare triple {4672#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4672#false} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 53: Hoare triple {4672#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4672#false} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 54: Hoare triple {4672#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4672#false} is VALID [2018-11-23 12:14:51,020 INFO L273 TraceCheckUtils]: 55: Hoare triple {4672#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 56: Hoare triple {4672#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 57: Hoare triple {4672#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 58: Hoare triple {4672#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 59: Hoare triple {4672#false} assume !(~i~2 < 19); {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 60: Hoare triple {4672#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4672#false} is VALID [2018-11-23 12:14:51,021 INFO L256 TraceCheckUtils]: 61: Hoare triple {4672#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 62: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4671#true} is VALID [2018-11-23 12:14:51,021 INFO L273 TraceCheckUtils]: 63: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 64: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 65: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 66: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 67: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 68: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 69: Hoare triple {4671#true} assume !(~i~0 < 20); {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 70: Hoare triple {4671#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L273 TraceCheckUtils]: 71: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,022 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {4671#true} {4672#false} #74#return; {4672#false} is VALID [2018-11-23 12:14:51,023 INFO L273 TraceCheckUtils]: 73: Hoare triple {4672#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4672#false} is VALID [2018-11-23 12:14:51,023 INFO L273 TraceCheckUtils]: 74: Hoare triple {4672#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4672#false} is VALID [2018-11-23 12:14:51,023 INFO L273 TraceCheckUtils]: 75: Hoare triple {4672#false} assume !false; {4672#false} is VALID [2018-11-23 12:14:51,026 INFO L134 CoverageAnalysis]: Checked inductivity of 223 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2018-11-23 12:14:51,026 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:51,026 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:51,037 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:14:51,079 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:14:51,080 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:51,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:51,097 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:51,287 INFO L256 TraceCheckUtils]: 0: Hoare triple {4671#true} call ULTIMATE.init(); {4671#true} is VALID [2018-11-23 12:14:51,287 INFO L273 TraceCheckUtils]: 1: Hoare triple {4671#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4671#true} is VALID [2018-11-23 12:14:51,287 INFO L273 TraceCheckUtils]: 2: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,288 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4671#true} {4671#true} #66#return; {4671#true} is VALID [2018-11-23 12:14:51,288 INFO L256 TraceCheckUtils]: 4: Hoare triple {4671#true} call #t~ret12 := main(); {4671#true} is VALID [2018-11-23 12:14:51,288 INFO L273 TraceCheckUtils]: 5: Hoare triple {4671#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {4671#true} is VALID [2018-11-23 12:14:51,288 INFO L273 TraceCheckUtils]: 6: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 7: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 8: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 9: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 10: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 11: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 12: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,289 INFO L273 TraceCheckUtils]: 13: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 14: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 15: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 16: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 17: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 18: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 19: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 20: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,290 INFO L273 TraceCheckUtils]: 21: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 22: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 23: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 24: Hoare triple {4671#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 25: Hoare triple {4671#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 26: Hoare triple {4671#true} assume !(~i~1 < 20); {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L256 TraceCheckUtils]: 27: Hoare triple {4671#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 28: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4671#true} is VALID [2018-11-23 12:14:51,291 INFO L273 TraceCheckUtils]: 29: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 30: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 31: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 32: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 33: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 34: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 35: Hoare triple {4671#true} assume !(~i~0 < 20); {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 36: Hoare triple {4671#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4671#true} is VALID [2018-11-23 12:14:51,292 INFO L273 TraceCheckUtils]: 37: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {4671#true} {4671#true} #70#return; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 39: Hoare triple {4671#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L256 TraceCheckUtils]: 40: Hoare triple {4671#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 41: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 42: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 43: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 44: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,293 INFO L273 TraceCheckUtils]: 45: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 46: Hoare triple {4671#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 47: Hoare triple {4671#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 48: Hoare triple {4671#true} assume !(~i~0 < 20); {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 49: Hoare triple {4671#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 50: Hoare triple {4671#true} assume true; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {4671#true} {4671#true} #72#return; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 52: Hoare triple {4671#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {4671#true} is VALID [2018-11-23 12:14:51,294 INFO L273 TraceCheckUtils]: 53: Hoare triple {4671#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 54: Hoare triple {4671#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 55: Hoare triple {4671#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 56: Hoare triple {4671#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 57: Hoare triple {4671#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 58: Hoare triple {4671#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 59: Hoare triple {4671#true} assume !(~i~2 < 19); {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L273 TraceCheckUtils]: 60: Hoare triple {4671#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {4671#true} is VALID [2018-11-23 12:14:51,295 INFO L256 TraceCheckUtils]: 61: Hoare triple {4671#true} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {4671#true} is VALID [2018-11-23 12:14:51,296 INFO L273 TraceCheckUtils]: 62: Hoare triple {4671#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4873#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:51,296 INFO L273 TraceCheckUtils]: 63: Hoare triple {4873#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4873#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:51,297 INFO L273 TraceCheckUtils]: 64: Hoare triple {4873#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4880#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:51,297 INFO L273 TraceCheckUtils]: 65: Hoare triple {4880#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4880#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:51,298 INFO L273 TraceCheckUtils]: 66: Hoare triple {4880#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4887#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:51,298 INFO L273 TraceCheckUtils]: 67: Hoare triple {4887#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {4887#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:51,298 INFO L273 TraceCheckUtils]: 68: Hoare triple {4887#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {4894#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:51,299 INFO L273 TraceCheckUtils]: 69: Hoare triple {4894#(<= avg_~i~0 3)} assume !(~i~0 < 20); {4672#false} is VALID [2018-11-23 12:14:51,299 INFO L273 TraceCheckUtils]: 70: Hoare triple {4672#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {4672#false} is VALID [2018-11-23 12:14:51,299 INFO L273 TraceCheckUtils]: 71: Hoare triple {4672#false} assume true; {4672#false} is VALID [2018-11-23 12:14:51,299 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {4672#false} {4671#true} #74#return; {4672#false} is VALID [2018-11-23 12:14:51,300 INFO L273 TraceCheckUtils]: 73: Hoare triple {4672#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {4672#false} is VALID [2018-11-23 12:14:51,300 INFO L273 TraceCheckUtils]: 74: Hoare triple {4672#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4672#false} is VALID [2018-11-23 12:14:51,300 INFO L273 TraceCheckUtils]: 75: Hoare triple {4672#false} assume !false; {4672#false} is VALID [2018-11-23 12:14:51,303 INFO L134 CoverageAnalysis]: Checked inductivity of 223 backedges. 56 proven. 9 refuted. 0 times theorem prover too weak. 158 trivial. 0 not checked. [2018-11-23 12:14:51,322 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:51,323 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 6] total 17 [2018-11-23 12:14:51,323 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 76 [2018-11-23 12:14:51,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:51,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:14:51,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:51,396 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:14:51,396 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:14:51,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=180, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:14:51,397 INFO L87 Difference]: Start difference. First operand 55 states and 59 transitions. Second operand 17 states. [2018-11-23 12:14:51,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:51,908 INFO L93 Difference]: Finished difference Result 89 states and 101 transitions. [2018-11-23 12:14:51,908 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:14:51,908 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 76 [2018-11-23 12:14:51,908 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:51,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:14:51,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:14:51,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:14:51,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2018-11-23 12:14:51,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 86 transitions. [2018-11-23 12:14:52,021 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:52,023 INFO L225 Difference]: With dead ends: 89 [2018-11-23 12:14:52,023 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 12:14:52,024 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=180, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:14:52,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 12:14:52,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 59. [2018-11-23 12:14:52,051 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:52,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 59 states. [2018-11-23 12:14:52,051 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 59 states. [2018-11-23 12:14:52,052 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 59 states. [2018-11-23 12:14:52,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:52,053 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2018-11-23 12:14:52,053 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2018-11-23 12:14:52,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:52,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:52,054 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 61 states. [2018-11-23 12:14:52,054 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 61 states. [2018-11-23 12:14:52,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:52,056 INFO L93 Difference]: Finished difference Result 61 states and 65 transitions. [2018-11-23 12:14:52,057 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 65 transitions. [2018-11-23 12:14:52,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:52,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:52,057 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:52,057 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:52,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-23 12:14:52,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 63 transitions. [2018-11-23 12:14:52,059 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 63 transitions. Word has length 76 [2018-11-23 12:14:52,059 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:52,060 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 63 transitions. [2018-11-23 12:14:52,060 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:14:52,060 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2018-11-23 12:14:52,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2018-11-23 12:14:52,061 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:52,061 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 11, 11, 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:14:52,061 INFO L423 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:52,062 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:52,062 INFO L82 PathProgramCache]: Analyzing trace with hash -506591693, now seen corresponding path program 11 times [2018-11-23 12:14:52,062 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:52,062 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:52,063 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:52,063 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:52,063 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:52,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:52,927 INFO L256 TraceCheckUtils]: 0: Hoare triple {5255#true} call ULTIMATE.init(); {5255#true} is VALID [2018-11-23 12:14:52,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {5255#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5255#true} is VALID [2018-11-23 12:14:52,928 INFO L273 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2018-11-23 12:14:52,928 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #66#return; {5255#true} is VALID [2018-11-23 12:14:52,928 INFO L256 TraceCheckUtils]: 4: Hoare triple {5255#true} call #t~ret12 := main(); {5255#true} is VALID [2018-11-23 12:14:52,929 INFO L273 TraceCheckUtils]: 5: Hoare triple {5255#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5257#(= main_~i~1 0)} is VALID [2018-11-23 12:14:52,929 INFO L273 TraceCheckUtils]: 6: Hoare triple {5257#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5257#(= main_~i~1 0)} is VALID [2018-11-23 12:14:52,929 INFO L273 TraceCheckUtils]: 7: Hoare triple {5257#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5258#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:52,930 INFO L273 TraceCheckUtils]: 8: Hoare triple {5258#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5258#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:52,930 INFO L273 TraceCheckUtils]: 9: Hoare triple {5258#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5259#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:52,931 INFO L273 TraceCheckUtils]: 10: Hoare triple {5259#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5259#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:52,932 INFO L273 TraceCheckUtils]: 11: Hoare triple {5259#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5260#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:52,932 INFO L273 TraceCheckUtils]: 12: Hoare triple {5260#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5260#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:52,933 INFO L273 TraceCheckUtils]: 13: Hoare triple {5260#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5261#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:52,934 INFO L273 TraceCheckUtils]: 14: Hoare triple {5261#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5261#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:52,934 INFO L273 TraceCheckUtils]: 15: Hoare triple {5261#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5262#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:52,935 INFO L273 TraceCheckUtils]: 16: Hoare triple {5262#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5262#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:52,936 INFO L273 TraceCheckUtils]: 17: Hoare triple {5262#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5263#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:52,936 INFO L273 TraceCheckUtils]: 18: Hoare triple {5263#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5263#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:52,937 INFO L273 TraceCheckUtils]: 19: Hoare triple {5263#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5264#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:52,938 INFO L273 TraceCheckUtils]: 20: Hoare triple {5264#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5264#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:52,939 INFO L273 TraceCheckUtils]: 21: Hoare triple {5264#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5265#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:52,939 INFO L273 TraceCheckUtils]: 22: Hoare triple {5265#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5265#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:52,940 INFO L273 TraceCheckUtils]: 23: Hoare triple {5265#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5266#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:52,940 INFO L273 TraceCheckUtils]: 24: Hoare triple {5266#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5266#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:52,941 INFO L273 TraceCheckUtils]: 25: Hoare triple {5266#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5267#(<= main_~i~1 10)} is VALID [2018-11-23 12:14:52,942 INFO L273 TraceCheckUtils]: 26: Hoare triple {5267#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5267#(<= main_~i~1 10)} is VALID [2018-11-23 12:14:52,943 INFO L273 TraceCheckUtils]: 27: Hoare triple {5267#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5268#(<= main_~i~1 11)} is VALID [2018-11-23 12:14:52,943 INFO L273 TraceCheckUtils]: 28: Hoare triple {5268#(<= main_~i~1 11)} assume !(~i~1 < 20); {5256#false} is VALID [2018-11-23 12:14:52,944 INFO L256 TraceCheckUtils]: 29: Hoare triple {5256#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {5255#true} is VALID [2018-11-23 12:14:52,944 INFO L273 TraceCheckUtils]: 30: Hoare triple {5255#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5255#true} is VALID [2018-11-23 12:14:52,944 INFO L273 TraceCheckUtils]: 31: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,944 INFO L273 TraceCheckUtils]: 32: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,944 INFO L273 TraceCheckUtils]: 33: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,945 INFO L273 TraceCheckUtils]: 34: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,945 INFO L273 TraceCheckUtils]: 35: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,945 INFO L273 TraceCheckUtils]: 36: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,945 INFO L273 TraceCheckUtils]: 37: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,945 INFO L273 TraceCheckUtils]: 38: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,946 INFO L273 TraceCheckUtils]: 39: Hoare triple {5255#true} assume !(~i~0 < 20); {5255#true} is VALID [2018-11-23 12:14:52,946 INFO L273 TraceCheckUtils]: 40: Hoare triple {5255#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5255#true} is VALID [2018-11-23 12:14:52,946 INFO L273 TraceCheckUtils]: 41: Hoare triple {5255#true} assume true; {5255#true} is VALID [2018-11-23 12:14:52,946 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5255#true} {5256#false} #70#return; {5256#false} is VALID [2018-11-23 12:14:52,947 INFO L273 TraceCheckUtils]: 43: Hoare triple {5256#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5256#false} is VALID [2018-11-23 12:14:52,947 INFO L256 TraceCheckUtils]: 44: Hoare triple {5256#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {5255#true} is VALID [2018-11-23 12:14:52,947 INFO L273 TraceCheckUtils]: 45: Hoare triple {5255#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5255#true} is VALID [2018-11-23 12:14:52,947 INFO L273 TraceCheckUtils]: 46: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,947 INFO L273 TraceCheckUtils]: 47: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,947 INFO L273 TraceCheckUtils]: 48: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 49: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 50: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 51: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 52: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 53: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,948 INFO L273 TraceCheckUtils]: 54: Hoare triple {5255#true} assume !(~i~0 < 20); {5255#true} is VALID [2018-11-23 12:14:52,949 INFO L273 TraceCheckUtils]: 55: Hoare triple {5255#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5255#true} is VALID [2018-11-23 12:14:52,949 INFO L273 TraceCheckUtils]: 56: Hoare triple {5255#true} assume true; {5255#true} is VALID [2018-11-23 12:14:52,949 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5255#true} {5256#false} #72#return; {5256#false} is VALID [2018-11-23 12:14:52,949 INFO L273 TraceCheckUtils]: 58: Hoare triple {5256#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {5256#false} is VALID [2018-11-23 12:14:52,949 INFO L273 TraceCheckUtils]: 59: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 60: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 61: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 62: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 63: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 64: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:52,950 INFO L273 TraceCheckUtils]: 65: Hoare triple {5256#false} assume !(~i~2 < 19); {5256#false} is VALID [2018-11-23 12:14:52,951 INFO L273 TraceCheckUtils]: 66: Hoare triple {5256#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5256#false} is VALID [2018-11-23 12:14:52,951 INFO L256 TraceCheckUtils]: 67: Hoare triple {5256#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {5255#true} is VALID [2018-11-23 12:14:52,951 INFO L273 TraceCheckUtils]: 68: Hoare triple {5255#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5255#true} is VALID [2018-11-23 12:14:52,951 INFO L273 TraceCheckUtils]: 69: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,951 INFO L273 TraceCheckUtils]: 70: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,951 INFO L273 TraceCheckUtils]: 71: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 72: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 73: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 74: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 75: Hoare triple {5255#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 76: Hoare triple {5255#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5255#true} is VALID [2018-11-23 12:14:52,952 INFO L273 TraceCheckUtils]: 77: Hoare triple {5255#true} assume !(~i~0 < 20); {5255#true} is VALID [2018-11-23 12:14:52,953 INFO L273 TraceCheckUtils]: 78: Hoare triple {5255#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5255#true} is VALID [2018-11-23 12:14:52,953 INFO L273 TraceCheckUtils]: 79: Hoare triple {5255#true} assume true; {5255#true} is VALID [2018-11-23 12:14:52,953 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {5255#true} {5256#false} #74#return; {5256#false} is VALID [2018-11-23 12:14:52,953 INFO L273 TraceCheckUtils]: 81: Hoare triple {5256#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {5256#false} is VALID [2018-11-23 12:14:52,953 INFO L273 TraceCheckUtils]: 82: Hoare triple {5256#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5256#false} is VALID [2018-11-23 12:14:52,953 INFO L273 TraceCheckUtils]: 83: Hoare triple {5256#false} assume !false; {5256#false} is VALID [2018-11-23 12:14:52,957 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2018-11-23 12:14:52,958 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:52,958 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:52,973 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:14:53,253 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2018-11-23 12:14:53,253 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:53,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:53,275 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:53,416 INFO L256 TraceCheckUtils]: 0: Hoare triple {5255#true} call ULTIMATE.init(); {5255#true} is VALID [2018-11-23 12:14:53,416 INFO L273 TraceCheckUtils]: 1: Hoare triple {5255#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5255#true} is VALID [2018-11-23 12:14:53,416 INFO L273 TraceCheckUtils]: 2: Hoare triple {5255#true} assume true; {5255#true} is VALID [2018-11-23 12:14:53,417 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5255#true} {5255#true} #66#return; {5255#true} is VALID [2018-11-23 12:14:53,417 INFO L256 TraceCheckUtils]: 4: Hoare triple {5255#true} call #t~ret12 := main(); {5255#true} is VALID [2018-11-23 12:14:53,417 INFO L273 TraceCheckUtils]: 5: Hoare triple {5255#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5255#true} is VALID [2018-11-23 12:14:53,417 INFO L273 TraceCheckUtils]: 6: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,417 INFO L273 TraceCheckUtils]: 7: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,418 INFO L273 TraceCheckUtils]: 8: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,418 INFO L273 TraceCheckUtils]: 9: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,418 INFO L273 TraceCheckUtils]: 10: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,418 INFO L273 TraceCheckUtils]: 11: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,418 INFO L273 TraceCheckUtils]: 12: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 13: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 14: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 15: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 16: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 17: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,419 INFO L273 TraceCheckUtils]: 18: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 19: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 20: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 21: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 22: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 23: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 24: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 25: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,420 INFO L273 TraceCheckUtils]: 26: Hoare triple {5255#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5255#true} is VALID [2018-11-23 12:14:53,421 INFO L273 TraceCheckUtils]: 27: Hoare triple {5255#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5255#true} is VALID [2018-11-23 12:14:53,421 INFO L273 TraceCheckUtils]: 28: Hoare triple {5255#true} assume !(~i~1 < 20); {5255#true} is VALID [2018-11-23 12:14:53,421 INFO L256 TraceCheckUtils]: 29: Hoare triple {5255#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {5255#true} is VALID [2018-11-23 12:14:53,421 INFO L273 TraceCheckUtils]: 30: Hoare triple {5255#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5362#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:53,422 INFO L273 TraceCheckUtils]: 31: Hoare triple {5362#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5362#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:53,422 INFO L273 TraceCheckUtils]: 32: Hoare triple {5362#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5369#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:53,423 INFO L273 TraceCheckUtils]: 33: Hoare triple {5369#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5369#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:53,423 INFO L273 TraceCheckUtils]: 34: Hoare triple {5369#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5376#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:53,423 INFO L273 TraceCheckUtils]: 35: Hoare triple {5376#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5376#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:53,424 INFO L273 TraceCheckUtils]: 36: Hoare triple {5376#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5383#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:53,424 INFO L273 TraceCheckUtils]: 37: Hoare triple {5383#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5383#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:53,425 INFO L273 TraceCheckUtils]: 38: Hoare triple {5383#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5390#(<= avg_~i~0 4)} is VALID [2018-11-23 12:14:53,426 INFO L273 TraceCheckUtils]: 39: Hoare triple {5390#(<= avg_~i~0 4)} assume !(~i~0 < 20); {5256#false} is VALID [2018-11-23 12:14:53,426 INFO L273 TraceCheckUtils]: 40: Hoare triple {5256#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5256#false} is VALID [2018-11-23 12:14:53,426 INFO L273 TraceCheckUtils]: 41: Hoare triple {5256#false} assume true; {5256#false} is VALID [2018-11-23 12:14:53,426 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {5256#false} {5255#true} #70#return; {5256#false} is VALID [2018-11-23 12:14:53,427 INFO L273 TraceCheckUtils]: 43: Hoare triple {5256#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5256#false} is VALID [2018-11-23 12:14:53,427 INFO L256 TraceCheckUtils]: 44: Hoare triple {5256#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {5256#false} is VALID [2018-11-23 12:14:53,427 INFO L273 TraceCheckUtils]: 45: Hoare triple {5256#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5256#false} is VALID [2018-11-23 12:14:53,427 INFO L273 TraceCheckUtils]: 46: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,428 INFO L273 TraceCheckUtils]: 47: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,428 INFO L273 TraceCheckUtils]: 48: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,428 INFO L273 TraceCheckUtils]: 49: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,428 INFO L273 TraceCheckUtils]: 50: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,428 INFO L273 TraceCheckUtils]: 51: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,429 INFO L273 TraceCheckUtils]: 52: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,429 INFO L273 TraceCheckUtils]: 53: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,429 INFO L273 TraceCheckUtils]: 54: Hoare triple {5256#false} assume !(~i~0 < 20); {5256#false} is VALID [2018-11-23 12:14:53,429 INFO L273 TraceCheckUtils]: 55: Hoare triple {5256#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5256#false} is VALID [2018-11-23 12:14:53,429 INFO L273 TraceCheckUtils]: 56: Hoare triple {5256#false} assume true; {5256#false} is VALID [2018-11-23 12:14:53,430 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5256#false} {5256#false} #72#return; {5256#false} is VALID [2018-11-23 12:14:53,430 INFO L273 TraceCheckUtils]: 58: Hoare triple {5256#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {5256#false} is VALID [2018-11-23 12:14:53,430 INFO L273 TraceCheckUtils]: 59: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:53,430 INFO L273 TraceCheckUtils]: 60: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:53,430 INFO L273 TraceCheckUtils]: 61: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L273 TraceCheckUtils]: 62: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L273 TraceCheckUtils]: 63: Hoare triple {5256#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L273 TraceCheckUtils]: 64: Hoare triple {5256#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L273 TraceCheckUtils]: 65: Hoare triple {5256#false} assume !(~i~2 < 19); {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L273 TraceCheckUtils]: 66: Hoare triple {5256#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5256#false} is VALID [2018-11-23 12:14:53,431 INFO L256 TraceCheckUtils]: 67: Hoare triple {5256#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 68: Hoare triple {5256#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 69: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 70: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 71: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 72: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 73: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 74: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,432 INFO L273 TraceCheckUtils]: 75: Hoare triple {5256#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5256#false} is VALID [2018-11-23 12:14:53,433 INFO L273 TraceCheckUtils]: 76: Hoare triple {5256#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5256#false} is VALID [2018-11-23 12:14:53,433 INFO L273 TraceCheckUtils]: 77: Hoare triple {5256#false} assume !(~i~0 < 20); {5256#false} is VALID [2018-11-23 12:14:53,433 INFO L273 TraceCheckUtils]: 78: Hoare triple {5256#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5256#false} is VALID [2018-11-23 12:14:53,433 INFO L273 TraceCheckUtils]: 79: Hoare triple {5256#false} assume true; {5256#false} is VALID [2018-11-23 12:14:53,433 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {5256#false} {5256#false} #74#return; {5256#false} is VALID [2018-11-23 12:14:53,434 INFO L273 TraceCheckUtils]: 81: Hoare triple {5256#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {5256#false} is VALID [2018-11-23 12:14:53,434 INFO L273 TraceCheckUtils]: 82: Hoare triple {5256#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5256#false} is VALID [2018-11-23 12:14:53,434 INFO L273 TraceCheckUtils]: 83: Hoare triple {5256#false} assume !false; {5256#false} is VALID [2018-11-23 12:14:53,438 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 84 proven. 16 refuted. 0 times theorem prover too weak. 213 trivial. 0 not checked. [2018-11-23 12:14:53,468 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:53,469 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 7] total 19 [2018-11-23 12:14:53,469 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 84 [2018-11-23 12:14:53,472 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:53,472 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:14:53,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:53,570 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:14:53,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:14:53,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:14:53,571 INFO L87 Difference]: Start difference. First operand 59 states and 63 transitions. Second operand 19 states. [2018-11-23 12:14:54,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:54,092 INFO L93 Difference]: Finished difference Result 95 states and 107 transitions. [2018-11-23 12:14:54,092 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:14:54,092 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 84 [2018-11-23 12:14:54,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:54,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:14:54,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:14:54,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:14:54,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2018-11-23 12:14:54,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 90 transitions. [2018-11-23 12:14:54,642 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:54,645 INFO L225 Difference]: With dead ends: 95 [2018-11-23 12:14:54,645 INFO L226 Difference]: Without dead ends: 65 [2018-11-23 12:14:54,646 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:14:54,646 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-11-23 12:14:54,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2018-11-23 12:14:54,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:54,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 63 states. [2018-11-23 12:14:54,786 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 63 states. [2018-11-23 12:14:54,786 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 63 states. [2018-11-23 12:14:54,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:54,789 INFO L93 Difference]: Finished difference Result 65 states and 69 transitions. [2018-11-23 12:14:54,789 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2018-11-23 12:14:54,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:54,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:54,790 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 65 states. [2018-11-23 12:14:54,790 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 65 states. [2018-11-23 12:14:54,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:54,792 INFO L93 Difference]: Finished difference Result 65 states and 69 transitions. [2018-11-23 12:14:54,792 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 69 transitions. [2018-11-23 12:14:54,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:54,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:54,793 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:54,793 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:54,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-23 12:14:54,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 67 transitions. [2018-11-23 12:14:54,795 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 67 transitions. Word has length 84 [2018-11-23 12:14:54,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:54,795 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 67 transitions. [2018-11-23 12:14:54,795 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:14:54,795 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 67 transitions. [2018-11-23 12:14:54,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2018-11-23 12:14:54,796 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:54,797 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 12, 12, 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:14:54,797 INFO L423 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:54,797 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:54,797 INFO L82 PathProgramCache]: Analyzing trace with hash -416573805, now seen corresponding path program 12 times [2018-11-23 12:14:54,797 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:54,798 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:54,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:54,798 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:54,799 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:54,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:56,411 INFO L256 TraceCheckUtils]: 0: Hoare triple {5888#true} call ULTIMATE.init(); {5888#true} is VALID [2018-11-23 12:14:56,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {5888#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5888#true} is VALID [2018-11-23 12:14:56,412 INFO L273 TraceCheckUtils]: 2: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,412 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5888#true} {5888#true} #66#return; {5888#true} is VALID [2018-11-23 12:14:56,412 INFO L256 TraceCheckUtils]: 4: Hoare triple {5888#true} call #t~ret12 := main(); {5888#true} is VALID [2018-11-23 12:14:56,413 INFO L273 TraceCheckUtils]: 5: Hoare triple {5888#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5890#(= main_~i~1 0)} is VALID [2018-11-23 12:14:56,413 INFO L273 TraceCheckUtils]: 6: Hoare triple {5890#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5890#(= main_~i~1 0)} is VALID [2018-11-23 12:14:56,414 INFO L273 TraceCheckUtils]: 7: Hoare triple {5890#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5891#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:56,414 INFO L273 TraceCheckUtils]: 8: Hoare triple {5891#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5891#(<= main_~i~1 1)} is VALID [2018-11-23 12:14:56,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {5891#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5892#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:56,415 INFO L273 TraceCheckUtils]: 10: Hoare triple {5892#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5892#(<= main_~i~1 2)} is VALID [2018-11-23 12:14:56,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {5892#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5893#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:56,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {5893#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5893#(<= main_~i~1 3)} is VALID [2018-11-23 12:14:56,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {5893#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5894#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:56,418 INFO L273 TraceCheckUtils]: 14: Hoare triple {5894#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5894#(<= main_~i~1 4)} is VALID [2018-11-23 12:14:56,418 INFO L273 TraceCheckUtils]: 15: Hoare triple {5894#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5895#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:56,419 INFO L273 TraceCheckUtils]: 16: Hoare triple {5895#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5895#(<= main_~i~1 5)} is VALID [2018-11-23 12:14:56,420 INFO L273 TraceCheckUtils]: 17: Hoare triple {5895#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5896#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:56,420 INFO L273 TraceCheckUtils]: 18: Hoare triple {5896#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5896#(<= main_~i~1 6)} is VALID [2018-11-23 12:14:56,421 INFO L273 TraceCheckUtils]: 19: Hoare triple {5896#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5897#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:56,422 INFO L273 TraceCheckUtils]: 20: Hoare triple {5897#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5897#(<= main_~i~1 7)} is VALID [2018-11-23 12:14:56,422 INFO L273 TraceCheckUtils]: 21: Hoare triple {5897#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5898#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:56,423 INFO L273 TraceCheckUtils]: 22: Hoare triple {5898#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5898#(<= main_~i~1 8)} is VALID [2018-11-23 12:14:56,424 INFO L273 TraceCheckUtils]: 23: Hoare triple {5898#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5899#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:56,424 INFO L273 TraceCheckUtils]: 24: Hoare triple {5899#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5899#(<= main_~i~1 9)} is VALID [2018-11-23 12:14:56,425 INFO L273 TraceCheckUtils]: 25: Hoare triple {5899#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5900#(<= main_~i~1 10)} is VALID [2018-11-23 12:14:56,426 INFO L273 TraceCheckUtils]: 26: Hoare triple {5900#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5900#(<= main_~i~1 10)} is VALID [2018-11-23 12:14:56,426 INFO L273 TraceCheckUtils]: 27: Hoare triple {5900#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5901#(<= main_~i~1 11)} is VALID [2018-11-23 12:14:56,427 INFO L273 TraceCheckUtils]: 28: Hoare triple {5901#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5901#(<= main_~i~1 11)} is VALID [2018-11-23 12:14:56,428 INFO L273 TraceCheckUtils]: 29: Hoare triple {5901#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5902#(<= main_~i~1 12)} is VALID [2018-11-23 12:14:56,429 INFO L273 TraceCheckUtils]: 30: Hoare triple {5902#(<= main_~i~1 12)} assume !(~i~1 < 20); {5889#false} is VALID [2018-11-23 12:14:56,429 INFO L256 TraceCheckUtils]: 31: Hoare triple {5889#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {5888#true} is VALID [2018-11-23 12:14:56,429 INFO L273 TraceCheckUtils]: 32: Hoare triple {5888#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5888#true} is VALID [2018-11-23 12:14:56,429 INFO L273 TraceCheckUtils]: 33: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,430 INFO L273 TraceCheckUtils]: 34: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,430 INFO L273 TraceCheckUtils]: 35: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,430 INFO L273 TraceCheckUtils]: 36: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,430 INFO L273 TraceCheckUtils]: 37: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,430 INFO L273 TraceCheckUtils]: 38: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,431 INFO L273 TraceCheckUtils]: 39: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,431 INFO L273 TraceCheckUtils]: 40: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,431 INFO L273 TraceCheckUtils]: 41: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,431 INFO L273 TraceCheckUtils]: 42: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,431 INFO L273 TraceCheckUtils]: 43: Hoare triple {5888#true} assume !(~i~0 < 20); {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 44: Hoare triple {5888#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 45: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5888#true} {5889#false} #70#return; {5889#false} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 47: Hoare triple {5889#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5889#false} is VALID [2018-11-23 12:14:56,432 INFO L256 TraceCheckUtils]: 48: Hoare triple {5889#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 49: Hoare triple {5888#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 50: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,432 INFO L273 TraceCheckUtils]: 51: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 52: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 53: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 54: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 55: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 56: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 57: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 58: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,433 INFO L273 TraceCheckUtils]: 59: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 60: Hoare triple {5888#true} assume !(~i~0 < 20); {5888#true} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 61: Hoare triple {5888#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5888#true} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 62: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,434 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {5888#true} {5889#false} #72#return; {5889#false} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 64: Hoare triple {5889#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {5889#false} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 65: Hoare triple {5889#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5889#false} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 66: Hoare triple {5889#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5889#false} is VALID [2018-11-23 12:14:56,434 INFO L273 TraceCheckUtils]: 67: Hoare triple {5889#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 68: Hoare triple {5889#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 69: Hoare triple {5889#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 70: Hoare triple {5889#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 71: Hoare triple {5889#false} assume !(~i~2 < 19); {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 72: Hoare triple {5889#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5889#false} is VALID [2018-11-23 12:14:56,435 INFO L256 TraceCheckUtils]: 73: Hoare triple {5889#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {5888#true} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 74: Hoare triple {5888#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5888#true} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 75: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,435 INFO L273 TraceCheckUtils]: 76: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 77: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 78: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 79: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 80: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 81: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 82: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 83: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,436 INFO L273 TraceCheckUtils]: 84: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 85: Hoare triple {5888#true} assume !(~i~0 < 20); {5888#true} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 86: Hoare triple {5888#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5888#true} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 87: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,437 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {5888#true} {5889#false} #74#return; {5889#false} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 89: Hoare triple {5889#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {5889#false} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 90: Hoare triple {5889#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5889#false} is VALID [2018-11-23 12:14:56,437 INFO L273 TraceCheckUtils]: 91: Hoare triple {5889#false} assume !false; {5889#false} is VALID [2018-11-23 12:14:56,441 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 279 trivial. 0 not checked. [2018-11-23 12:14:56,441 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:56,441 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:14:56,450 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:14:56,655 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2018-11-23 12:14:56,656 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:56,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:56,696 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:56,874 INFO L256 TraceCheckUtils]: 0: Hoare triple {5888#true} call ULTIMATE.init(); {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 1: Hoare triple {5888#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 2: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5888#true} {5888#true} #66#return; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L256 TraceCheckUtils]: 4: Hoare triple {5888#true} call #t~ret12 := main(); {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 5: Hoare triple {5888#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 6: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 7: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,875 INFO L273 TraceCheckUtils]: 8: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 9: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 10: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 11: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 12: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 13: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 14: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 15: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 16: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,876 INFO L273 TraceCheckUtils]: 17: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 18: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 19: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 20: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 21: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 22: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 23: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 24: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,877 INFO L273 TraceCheckUtils]: 25: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 26: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 27: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 28: Hoare triple {5888#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 29: Hoare triple {5888#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 30: Hoare triple {5888#true} assume !(~i~1 < 20); {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L256 TraceCheckUtils]: 31: Hoare triple {5888#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 32: Hoare triple {5888#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 33: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,878 INFO L273 TraceCheckUtils]: 34: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 35: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 36: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 37: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 38: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 39: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 40: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 41: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,879 INFO L273 TraceCheckUtils]: 42: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 43: Hoare triple {5888#true} assume !(~i~0 < 20); {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 44: Hoare triple {5888#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 45: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {5888#true} {5888#true} #70#return; {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 47: Hoare triple {5888#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L256 TraceCheckUtils]: 48: Hoare triple {5888#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 49: Hoare triple {5888#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 50: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,880 INFO L273 TraceCheckUtils]: 51: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 52: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 53: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 54: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 55: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 56: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 57: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 58: Hoare triple {5888#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5888#true} is VALID [2018-11-23 12:14:56,881 INFO L273 TraceCheckUtils]: 59: Hoare triple {5888#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5888#true} is VALID [2018-11-23 12:14:56,882 INFO L273 TraceCheckUtils]: 60: Hoare triple {5888#true} assume !(~i~0 < 20); {5888#true} is VALID [2018-11-23 12:14:56,882 INFO L273 TraceCheckUtils]: 61: Hoare triple {5888#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5888#true} is VALID [2018-11-23 12:14:56,882 INFO L273 TraceCheckUtils]: 62: Hoare triple {5888#true} assume true; {5888#true} is VALID [2018-11-23 12:14:56,882 INFO L268 TraceCheckUtils]: 63: Hoare quadruple {5888#true} {5888#true} #72#return; {5888#true} is VALID [2018-11-23 12:14:56,883 INFO L273 TraceCheckUtils]: 64: Hoare triple {5888#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {6098#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:56,883 INFO L273 TraceCheckUtils]: 65: Hoare triple {6098#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6098#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:56,883 INFO L273 TraceCheckUtils]: 66: Hoare triple {6098#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6105#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:56,884 INFO L273 TraceCheckUtils]: 67: Hoare triple {6105#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6105#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:56,884 INFO L273 TraceCheckUtils]: 68: Hoare triple {6105#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6112#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:56,885 INFO L273 TraceCheckUtils]: 69: Hoare triple {6112#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6112#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:56,885 INFO L273 TraceCheckUtils]: 70: Hoare triple {6112#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6119#(<= main_~i~2 3)} is VALID [2018-11-23 12:14:56,885 INFO L273 TraceCheckUtils]: 71: Hoare triple {6119#(<= main_~i~2 3)} assume !(~i~2 < 19); {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 72: Hoare triple {5889#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L256 TraceCheckUtils]: 73: Hoare triple {5889#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 74: Hoare triple {5889#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 75: Hoare triple {5889#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 76: Hoare triple {5889#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 77: Hoare triple {5889#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 78: Hoare triple {5889#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5889#false} is VALID [2018-11-23 12:14:56,886 INFO L273 TraceCheckUtils]: 79: Hoare triple {5889#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5889#false} is VALID [2018-11-23 12:14:56,887 INFO L273 TraceCheckUtils]: 80: Hoare triple {5889#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5889#false} is VALID [2018-11-23 12:14:56,887 INFO L273 TraceCheckUtils]: 81: Hoare triple {5889#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5889#false} is VALID [2018-11-23 12:14:56,887 INFO L273 TraceCheckUtils]: 82: Hoare triple {5889#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5889#false} is VALID [2018-11-23 12:14:56,887 INFO L273 TraceCheckUtils]: 83: Hoare triple {5889#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {5889#false} is VALID [2018-11-23 12:14:56,888 INFO L273 TraceCheckUtils]: 84: Hoare triple {5889#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {5889#false} is VALID [2018-11-23 12:14:56,888 INFO L273 TraceCheckUtils]: 85: Hoare triple {5889#false} assume !(~i~0 < 20); {5889#false} is VALID [2018-11-23 12:14:56,888 INFO L273 TraceCheckUtils]: 86: Hoare triple {5889#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {5889#false} is VALID [2018-11-23 12:14:56,889 INFO L273 TraceCheckUtils]: 87: Hoare triple {5889#false} assume true; {5889#false} is VALID [2018-11-23 12:14:56,889 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {5889#false} {5889#false} #74#return; {5889#false} is VALID [2018-11-23 12:14:56,889 INFO L273 TraceCheckUtils]: 89: Hoare triple {5889#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {5889#false} is VALID [2018-11-23 12:14:56,889 INFO L273 TraceCheckUtils]: 90: Hoare triple {5889#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5889#false} is VALID [2018-11-23 12:14:56,889 INFO L273 TraceCheckUtils]: 91: Hoare triple {5889#false} assume !false; {5889#false} is VALID [2018-11-23 12:14:56,893 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 130 proven. 9 refuted. 0 times theorem prover too weak. 284 trivial. 0 not checked. [2018-11-23 12:14:56,915 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:56,915 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 6] total 19 [2018-11-23 12:14:56,916 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 92 [2018-11-23 12:14:56,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:56,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:14:56,994 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:14:56,994 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:14:56,994 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:14:56,995 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=223, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:14:56,995 INFO L87 Difference]: Start difference. First operand 63 states and 67 transitions. Second operand 19 states. [2018-11-23 12:14:57,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:57,611 INFO L93 Difference]: Finished difference Result 101 states and 110 transitions. [2018-11-23 12:14:57,611 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:14:57,611 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 92 [2018-11-23 12:14:57,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:57,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:14:57,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 87 transitions. [2018-11-23 12:14:57,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:14:57,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 87 transitions. [2018-11-23 12:14:57,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 87 transitions. [2018-11-23 12:14:58,742 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:58,744 INFO L225 Difference]: With dead ends: 101 [2018-11-23 12:14:58,744 INFO L226 Difference]: Without dead ends: 69 [2018-11-23 12:14:58,747 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=119, Invalid=223, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:14:58,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2018-11-23 12:14:59,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 67. [2018-11-23 12:14:59,368 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:59,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 67 states. [2018-11-23 12:14:59,368 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 67 states. [2018-11-23 12:14:59,368 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 67 states. [2018-11-23 12:14:59,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:59,372 INFO L93 Difference]: Finished difference Result 69 states and 73 transitions. [2018-11-23 12:14:59,372 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2018-11-23 12:14:59,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:59,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:59,373 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 69 states. [2018-11-23 12:14:59,373 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 69 states. [2018-11-23 12:14:59,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:59,377 INFO L93 Difference]: Finished difference Result 69 states and 73 transitions. [2018-11-23 12:14:59,377 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2018-11-23 12:14:59,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:59,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:59,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:59,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:59,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-23 12:14:59,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 71 transitions. [2018-11-23 12:14:59,381 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 71 transitions. Word has length 92 [2018-11-23 12:14:59,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:59,381 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 71 transitions. [2018-11-23 12:14:59,381 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:14:59,381 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2018-11-23 12:14:59,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2018-11-23 12:14:59,382 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:59,382 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 13, 13, 4, 4, 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:14:59,383 INFO L423 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:59,383 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:59,383 INFO L82 PathProgramCache]: Analyzing trace with hash 1508563187, now seen corresponding path program 13 times [2018-11-23 12:14:59,383 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:59,383 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:59,384 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:59,384 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:59,384 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:59,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:01,129 INFO L256 TraceCheckUtils]: 0: Hoare triple {6568#true} call ULTIMATE.init(); {6568#true} is VALID [2018-11-23 12:15:01,130 INFO L273 TraceCheckUtils]: 1: Hoare triple {6568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6568#true} is VALID [2018-11-23 12:15:01,130 INFO L273 TraceCheckUtils]: 2: Hoare triple {6568#true} assume true; {6568#true} is VALID [2018-11-23 12:15:01,130 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6568#true} {6568#true} #66#return; {6568#true} is VALID [2018-11-23 12:15:01,130 INFO L256 TraceCheckUtils]: 4: Hoare triple {6568#true} call #t~ret12 := main(); {6568#true} is VALID [2018-11-23 12:15:01,131 INFO L273 TraceCheckUtils]: 5: Hoare triple {6568#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6570#(= main_~i~1 0)} is VALID [2018-11-23 12:15:01,132 INFO L273 TraceCheckUtils]: 6: Hoare triple {6570#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6570#(= main_~i~1 0)} is VALID [2018-11-23 12:15:01,133 INFO L273 TraceCheckUtils]: 7: Hoare triple {6570#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6571#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:01,133 INFO L273 TraceCheckUtils]: 8: Hoare triple {6571#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6571#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:01,134 INFO L273 TraceCheckUtils]: 9: Hoare triple {6571#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6572#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:01,135 INFO L273 TraceCheckUtils]: 10: Hoare triple {6572#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6572#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:01,136 INFO L273 TraceCheckUtils]: 11: Hoare triple {6572#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6573#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:01,136 INFO L273 TraceCheckUtils]: 12: Hoare triple {6573#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6573#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:01,137 INFO L273 TraceCheckUtils]: 13: Hoare triple {6573#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6574#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:01,138 INFO L273 TraceCheckUtils]: 14: Hoare triple {6574#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6574#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:01,139 INFO L273 TraceCheckUtils]: 15: Hoare triple {6574#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6575#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:01,139 INFO L273 TraceCheckUtils]: 16: Hoare triple {6575#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6575#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:01,140 INFO L273 TraceCheckUtils]: 17: Hoare triple {6575#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6576#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:01,141 INFO L273 TraceCheckUtils]: 18: Hoare triple {6576#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6576#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:01,142 INFO L273 TraceCheckUtils]: 19: Hoare triple {6576#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6577#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:01,143 INFO L273 TraceCheckUtils]: 20: Hoare triple {6577#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6577#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:01,143 INFO L273 TraceCheckUtils]: 21: Hoare triple {6577#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6578#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:01,144 INFO L273 TraceCheckUtils]: 22: Hoare triple {6578#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6578#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:01,145 INFO L273 TraceCheckUtils]: 23: Hoare triple {6578#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6579#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:01,146 INFO L273 TraceCheckUtils]: 24: Hoare triple {6579#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6579#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:01,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {6579#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6580#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:01,147 INFO L273 TraceCheckUtils]: 26: Hoare triple {6580#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6580#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:01,148 INFO L273 TraceCheckUtils]: 27: Hoare triple {6580#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6581#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:01,149 INFO L273 TraceCheckUtils]: 28: Hoare triple {6581#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6581#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:01,150 INFO L273 TraceCheckUtils]: 29: Hoare triple {6581#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6582#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:01,150 INFO L273 TraceCheckUtils]: 30: Hoare triple {6582#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6582#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:01,151 INFO L273 TraceCheckUtils]: 31: Hoare triple {6582#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6583#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:01,152 INFO L273 TraceCheckUtils]: 32: Hoare triple {6583#(<= main_~i~1 13)} assume !(~i~1 < 20); {6569#false} is VALID [2018-11-23 12:15:01,152 INFO L256 TraceCheckUtils]: 33: Hoare triple {6569#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {6568#true} is VALID [2018-11-23 12:15:01,153 INFO L273 TraceCheckUtils]: 34: Hoare triple {6568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6568#true} is VALID [2018-11-23 12:15:01,153 INFO L273 TraceCheckUtils]: 35: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,153 INFO L273 TraceCheckUtils]: 36: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,153 INFO L273 TraceCheckUtils]: 37: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,154 INFO L273 TraceCheckUtils]: 38: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,154 INFO L273 TraceCheckUtils]: 39: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,154 INFO L273 TraceCheckUtils]: 40: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,154 INFO L273 TraceCheckUtils]: 41: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,155 INFO L273 TraceCheckUtils]: 42: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,155 INFO L273 TraceCheckUtils]: 43: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,155 INFO L273 TraceCheckUtils]: 44: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,155 INFO L273 TraceCheckUtils]: 45: Hoare triple {6568#true} assume !(~i~0 < 20); {6568#true} is VALID [2018-11-23 12:15:01,155 INFO L273 TraceCheckUtils]: 46: Hoare triple {6568#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6568#true} is VALID [2018-11-23 12:15:01,156 INFO L273 TraceCheckUtils]: 47: Hoare triple {6568#true} assume true; {6568#true} is VALID [2018-11-23 12:15:01,156 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {6568#true} {6569#false} #70#return; {6569#false} is VALID [2018-11-23 12:15:01,156 INFO L273 TraceCheckUtils]: 49: Hoare triple {6569#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {6569#false} is VALID [2018-11-23 12:15:01,156 INFO L256 TraceCheckUtils]: 50: Hoare triple {6569#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {6568#true} is VALID [2018-11-23 12:15:01,156 INFO L273 TraceCheckUtils]: 51: Hoare triple {6568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6568#true} is VALID [2018-11-23 12:15:01,156 INFO L273 TraceCheckUtils]: 52: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,156 INFO L273 TraceCheckUtils]: 53: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 54: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 55: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 56: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 57: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 58: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,157 INFO L273 TraceCheckUtils]: 59: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 60: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 61: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 62: Hoare triple {6568#true} assume !(~i~0 < 20); {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 63: Hoare triple {6568#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 64: Hoare triple {6568#true} assume true; {6568#true} is VALID [2018-11-23 12:15:01,158 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {6568#true} {6569#false} #72#return; {6569#false} is VALID [2018-11-23 12:15:01,158 INFO L273 TraceCheckUtils]: 66: Hoare triple {6569#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 67: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 68: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 69: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 70: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 71: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,159 INFO L273 TraceCheckUtils]: 72: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 73: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 74: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 75: Hoare triple {6569#false} assume !(~i~2 < 19); {6569#false} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 76: Hoare triple {6569#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {6569#false} is VALID [2018-11-23 12:15:01,160 INFO L256 TraceCheckUtils]: 77: Hoare triple {6569#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {6568#true} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 78: Hoare triple {6568#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6568#true} is VALID [2018-11-23 12:15:01,160 INFO L273 TraceCheckUtils]: 79: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 80: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 81: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 82: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 83: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 84: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,161 INFO L273 TraceCheckUtils]: 85: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 86: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 87: Hoare triple {6568#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 88: Hoare triple {6568#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 89: Hoare triple {6568#true} assume !(~i~0 < 20); {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 90: Hoare triple {6568#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L273 TraceCheckUtils]: 91: Hoare triple {6568#true} assume true; {6568#true} is VALID [2018-11-23 12:15:01,162 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {6568#true} {6569#false} #74#return; {6569#false} is VALID [2018-11-23 12:15:01,163 INFO L273 TraceCheckUtils]: 93: Hoare triple {6569#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {6569#false} is VALID [2018-11-23 12:15:01,163 INFO L273 TraceCheckUtils]: 94: Hoare triple {6569#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6569#false} is VALID [2018-11-23 12:15:01,163 INFO L273 TraceCheckUtils]: 95: Hoare triple {6569#false} assume !false; {6569#false} is VALID [2018-11-23 12:15:01,172 INFO L134 CoverageAnalysis]: Checked inductivity of 455 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 286 trivial. 0 not checked. [2018-11-23 12:15:01,172 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:01,172 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:01,182 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:01,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:01,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:01,268 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:01,674 INFO L256 TraceCheckUtils]: 0: Hoare triple {6568#true} call ULTIMATE.init(); {6568#true} is VALID [2018-11-23 12:15:01,674 INFO L273 TraceCheckUtils]: 1: Hoare triple {6568#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {6568#true} is VALID [2018-11-23 12:15:01,674 INFO L273 TraceCheckUtils]: 2: Hoare triple {6568#true} assume true; {6568#true} is VALID [2018-11-23 12:15:01,675 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6568#true} {6568#true} #66#return; {6568#true} is VALID [2018-11-23 12:15:01,675 INFO L256 TraceCheckUtils]: 4: Hoare triple {6568#true} call #t~ret12 := main(); {6568#true} is VALID [2018-11-23 12:15:01,676 INFO L273 TraceCheckUtils]: 5: Hoare triple {6568#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {6602#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:01,676 INFO L273 TraceCheckUtils]: 6: Hoare triple {6602#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6602#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:01,677 INFO L273 TraceCheckUtils]: 7: Hoare triple {6602#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6571#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:01,677 INFO L273 TraceCheckUtils]: 8: Hoare triple {6571#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6571#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:01,678 INFO L273 TraceCheckUtils]: 9: Hoare triple {6571#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6572#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:01,679 INFO L273 TraceCheckUtils]: 10: Hoare triple {6572#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6572#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:01,679 INFO L273 TraceCheckUtils]: 11: Hoare triple {6572#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6573#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:01,680 INFO L273 TraceCheckUtils]: 12: Hoare triple {6573#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6573#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:01,681 INFO L273 TraceCheckUtils]: 13: Hoare triple {6573#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6574#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:01,682 INFO L273 TraceCheckUtils]: 14: Hoare triple {6574#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6574#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:01,683 INFO L273 TraceCheckUtils]: 15: Hoare triple {6574#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6575#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:01,683 INFO L273 TraceCheckUtils]: 16: Hoare triple {6575#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6575#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:01,684 INFO L273 TraceCheckUtils]: 17: Hoare triple {6575#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6576#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:01,685 INFO L273 TraceCheckUtils]: 18: Hoare triple {6576#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6576#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:01,686 INFO L273 TraceCheckUtils]: 19: Hoare triple {6576#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6577#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:01,686 INFO L273 TraceCheckUtils]: 20: Hoare triple {6577#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6577#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:01,687 INFO L273 TraceCheckUtils]: 21: Hoare triple {6577#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6578#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:01,688 INFO L273 TraceCheckUtils]: 22: Hoare triple {6578#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6578#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:01,689 INFO L273 TraceCheckUtils]: 23: Hoare triple {6578#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6579#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:01,689 INFO L273 TraceCheckUtils]: 24: Hoare triple {6579#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6579#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:01,690 INFO L273 TraceCheckUtils]: 25: Hoare triple {6579#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6580#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:01,691 INFO L273 TraceCheckUtils]: 26: Hoare triple {6580#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6580#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:01,692 INFO L273 TraceCheckUtils]: 27: Hoare triple {6580#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6581#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:01,692 INFO L273 TraceCheckUtils]: 28: Hoare triple {6581#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6581#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:01,693 INFO L273 TraceCheckUtils]: 29: Hoare triple {6581#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6582#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:01,694 INFO L273 TraceCheckUtils]: 30: Hoare triple {6582#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {6582#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:01,695 INFO L273 TraceCheckUtils]: 31: Hoare triple {6582#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {6583#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:01,696 INFO L273 TraceCheckUtils]: 32: Hoare triple {6583#(<= main_~i~1 13)} assume !(~i~1 < 20); {6569#false} is VALID [2018-11-23 12:15:01,696 INFO L256 TraceCheckUtils]: 33: Hoare triple {6569#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {6569#false} is VALID [2018-11-23 12:15:01,696 INFO L273 TraceCheckUtils]: 34: Hoare triple {6569#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6569#false} is VALID [2018-11-23 12:15:01,696 INFO L273 TraceCheckUtils]: 35: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,697 INFO L273 TraceCheckUtils]: 36: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,697 INFO L273 TraceCheckUtils]: 37: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,697 INFO L273 TraceCheckUtils]: 38: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,698 INFO L273 TraceCheckUtils]: 39: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,698 INFO L273 TraceCheckUtils]: 40: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,698 INFO L273 TraceCheckUtils]: 41: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,698 INFO L273 TraceCheckUtils]: 42: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 43: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 44: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 45: Hoare triple {6569#false} assume !(~i~0 < 20); {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 46: Hoare triple {6569#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 47: Hoare triple {6569#false} assume true; {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {6569#false} {6569#false} #70#return; {6569#false} is VALID [2018-11-23 12:15:01,699 INFO L273 TraceCheckUtils]: 49: Hoare triple {6569#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L256 TraceCheckUtils]: 50: Hoare triple {6569#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L273 TraceCheckUtils]: 51: Hoare triple {6569#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L273 TraceCheckUtils]: 52: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L273 TraceCheckUtils]: 53: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L273 TraceCheckUtils]: 54: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,700 INFO L273 TraceCheckUtils]: 55: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 56: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 57: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 58: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 59: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 60: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 61: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,701 INFO L273 TraceCheckUtils]: 62: Hoare triple {6569#false} assume !(~i~0 < 20); {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L273 TraceCheckUtils]: 63: Hoare triple {6569#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L273 TraceCheckUtils]: 64: Hoare triple {6569#false} assume true; {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L268 TraceCheckUtils]: 65: Hoare quadruple {6569#false} {6569#false} #72#return; {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L273 TraceCheckUtils]: 66: Hoare triple {6569#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L273 TraceCheckUtils]: 67: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,702 INFO L273 TraceCheckUtils]: 68: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 69: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 70: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 71: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 72: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 73: Hoare triple {6569#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 74: Hoare triple {6569#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {6569#false} is VALID [2018-11-23 12:15:01,703 INFO L273 TraceCheckUtils]: 75: Hoare triple {6569#false} assume !(~i~2 < 19); {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 76: Hoare triple {6569#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L256 TraceCheckUtils]: 77: Hoare triple {6569#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 78: Hoare triple {6569#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 79: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 80: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 81: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,704 INFO L273 TraceCheckUtils]: 82: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 83: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 84: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 85: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 86: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 87: Hoare triple {6569#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {6569#false} is VALID [2018-11-23 12:15:01,705 INFO L273 TraceCheckUtils]: 88: Hoare triple {6569#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 89: Hoare triple {6569#false} assume !(~i~0 < 20); {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 90: Hoare triple {6569#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 91: Hoare triple {6569#false} assume true; {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {6569#false} {6569#false} #74#return; {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 93: Hoare triple {6569#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 94: Hoare triple {6569#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {6569#false} is VALID [2018-11-23 12:15:01,706 INFO L273 TraceCheckUtils]: 95: Hoare triple {6569#false} assume !false; {6569#false} is VALID [2018-11-23 12:15:01,731 INFO L134 CoverageAnalysis]: Checked inductivity of 455 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 286 trivial. 0 not checked. [2018-11-23 12:15:01,751 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:01,751 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:15:01,752 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 96 [2018-11-23 12:15:01,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:01,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:15:01,829 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:01,830 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:15:01,830 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:15:01,830 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:01,831 INFO L87 Difference]: Start difference. First operand 67 states and 71 transitions. Second operand 17 states. [2018-11-23 12:15:02,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:02,479 INFO L93 Difference]: Finished difference Result 104 states and 112 transitions. [2018-11-23 12:15:02,479 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:15:02,479 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 96 [2018-11-23 12:15:02,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:02,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:02,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 80 transitions. [2018-11-23 12:15:02,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:02,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 80 transitions. [2018-11-23 12:15:02,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 80 transitions. [2018-11-23 12:15:03,483 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:15:03,485 INFO L225 Difference]: With dead ends: 104 [2018-11-23 12:15:03,485 INFO L226 Difference]: Without dead ends: 70 [2018-11-23 12:15:03,485 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 96 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:03,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-23 12:15:03,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-23 12:15:03,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:03,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 69 states. [2018-11-23 12:15:03,525 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 69 states. [2018-11-23 12:15:03,525 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 69 states. [2018-11-23 12:15:03,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:03,527 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2018-11-23 12:15:03,527 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 74 transitions. [2018-11-23 12:15:03,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:03,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:03,527 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 70 states. [2018-11-23 12:15:03,527 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 70 states. [2018-11-23 12:15:03,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:03,529 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2018-11-23 12:15:03,529 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 74 transitions. [2018-11-23 12:15:03,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:03,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:03,530 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:03,530 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:03,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 12:15:03,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 73 transitions. [2018-11-23 12:15:03,532 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 73 transitions. Word has length 96 [2018-11-23 12:15:03,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:03,532 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 73 transitions. [2018-11-23 12:15:03,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:15:03,532 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 73 transitions. [2018-11-23 12:15:03,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2018-11-23 12:15:03,533 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:03,534 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 14, 14, 4, 4, 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:15:03,534 INFO L423 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:03,534 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:03,534 INFO L82 PathProgramCache]: Analyzing trace with hash 737731925, now seen corresponding path program 14 times [2018-11-23 12:15:03,535 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:03,535 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:03,535 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:03,536 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:03,536 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:03,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:04,440 INFO L256 TraceCheckUtils]: 0: Hoare triple {7268#true} call ULTIMATE.init(); {7268#true} is VALID [2018-11-23 12:15:04,441 INFO L273 TraceCheckUtils]: 1: Hoare triple {7268#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7268#true} is VALID [2018-11-23 12:15:04,441 INFO L273 TraceCheckUtils]: 2: Hoare triple {7268#true} assume true; {7268#true} is VALID [2018-11-23 12:15:04,441 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7268#true} {7268#true} #66#return; {7268#true} is VALID [2018-11-23 12:15:04,441 INFO L256 TraceCheckUtils]: 4: Hoare triple {7268#true} call #t~ret12 := main(); {7268#true} is VALID [2018-11-23 12:15:04,442 INFO L273 TraceCheckUtils]: 5: Hoare triple {7268#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7270#(= main_~i~1 0)} is VALID [2018-11-23 12:15:04,442 INFO L273 TraceCheckUtils]: 6: Hoare triple {7270#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7270#(= main_~i~1 0)} is VALID [2018-11-23 12:15:04,443 INFO L273 TraceCheckUtils]: 7: Hoare triple {7270#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7271#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:04,443 INFO L273 TraceCheckUtils]: 8: Hoare triple {7271#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7271#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:04,444 INFO L273 TraceCheckUtils]: 9: Hoare triple {7271#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7272#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:04,444 INFO L273 TraceCheckUtils]: 10: Hoare triple {7272#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7272#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:04,445 INFO L273 TraceCheckUtils]: 11: Hoare triple {7272#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7273#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:04,445 INFO L273 TraceCheckUtils]: 12: Hoare triple {7273#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7273#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:04,445 INFO L273 TraceCheckUtils]: 13: Hoare triple {7273#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7274#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:04,446 INFO L273 TraceCheckUtils]: 14: Hoare triple {7274#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7274#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:04,446 INFO L273 TraceCheckUtils]: 15: Hoare triple {7274#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7275#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:04,447 INFO L273 TraceCheckUtils]: 16: Hoare triple {7275#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7275#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:04,448 INFO L273 TraceCheckUtils]: 17: Hoare triple {7275#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7276#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:04,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {7276#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7276#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:04,449 INFO L273 TraceCheckUtils]: 19: Hoare triple {7276#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7277#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:04,450 INFO L273 TraceCheckUtils]: 20: Hoare triple {7277#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7277#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:04,450 INFO L273 TraceCheckUtils]: 21: Hoare triple {7277#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7278#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:04,451 INFO L273 TraceCheckUtils]: 22: Hoare triple {7278#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7278#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:04,452 INFO L273 TraceCheckUtils]: 23: Hoare triple {7278#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7279#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:04,452 INFO L273 TraceCheckUtils]: 24: Hoare triple {7279#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7279#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:04,453 INFO L273 TraceCheckUtils]: 25: Hoare triple {7279#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7280#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:04,454 INFO L273 TraceCheckUtils]: 26: Hoare triple {7280#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7280#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:04,454 INFO L273 TraceCheckUtils]: 27: Hoare triple {7280#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7281#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:04,455 INFO L273 TraceCheckUtils]: 28: Hoare triple {7281#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7281#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:04,456 INFO L273 TraceCheckUtils]: 29: Hoare triple {7281#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7282#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:04,456 INFO L273 TraceCheckUtils]: 30: Hoare triple {7282#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7282#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:04,457 INFO L273 TraceCheckUtils]: 31: Hoare triple {7282#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7283#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:04,458 INFO L273 TraceCheckUtils]: 32: Hoare triple {7283#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7283#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:04,458 INFO L273 TraceCheckUtils]: 33: Hoare triple {7283#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7284#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:04,459 INFO L273 TraceCheckUtils]: 34: Hoare triple {7284#(<= main_~i~1 14)} assume !(~i~1 < 20); {7269#false} is VALID [2018-11-23 12:15:04,459 INFO L256 TraceCheckUtils]: 35: Hoare triple {7269#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {7268#true} is VALID [2018-11-23 12:15:04,460 INFO L273 TraceCheckUtils]: 36: Hoare triple {7268#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7268#true} is VALID [2018-11-23 12:15:04,460 INFO L273 TraceCheckUtils]: 37: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,460 INFO L273 TraceCheckUtils]: 38: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,460 INFO L273 TraceCheckUtils]: 39: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,460 INFO L273 TraceCheckUtils]: 40: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,461 INFO L273 TraceCheckUtils]: 41: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,461 INFO L273 TraceCheckUtils]: 42: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,461 INFO L273 TraceCheckUtils]: 43: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,461 INFO L273 TraceCheckUtils]: 44: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,461 INFO L273 TraceCheckUtils]: 45: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,462 INFO L273 TraceCheckUtils]: 46: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,462 INFO L273 TraceCheckUtils]: 47: Hoare triple {7268#true} assume !(~i~0 < 20); {7268#true} is VALID [2018-11-23 12:15:04,462 INFO L273 TraceCheckUtils]: 48: Hoare triple {7268#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7268#true} is VALID [2018-11-23 12:15:04,462 INFO L273 TraceCheckUtils]: 49: Hoare triple {7268#true} assume true; {7268#true} is VALID [2018-11-23 12:15:04,462 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7268#true} {7269#false} #70#return; {7269#false} is VALID [2018-11-23 12:15:04,463 INFO L273 TraceCheckUtils]: 51: Hoare triple {7269#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7269#false} is VALID [2018-11-23 12:15:04,463 INFO L256 TraceCheckUtils]: 52: Hoare triple {7269#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {7268#true} is VALID [2018-11-23 12:15:04,463 INFO L273 TraceCheckUtils]: 53: Hoare triple {7268#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7268#true} is VALID [2018-11-23 12:15:04,463 INFO L273 TraceCheckUtils]: 54: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,463 INFO L273 TraceCheckUtils]: 55: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,464 INFO L273 TraceCheckUtils]: 56: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,464 INFO L273 TraceCheckUtils]: 57: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,464 INFO L273 TraceCheckUtils]: 58: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,464 INFO L273 TraceCheckUtils]: 59: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,464 INFO L273 TraceCheckUtils]: 60: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 61: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 62: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 63: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 64: Hoare triple {7268#true} assume !(~i~0 < 20); {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 65: Hoare triple {7268#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L273 TraceCheckUtils]: 66: Hoare triple {7268#true} assume true; {7268#true} is VALID [2018-11-23 12:15:04,465 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {7268#true} {7269#false} #72#return; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 68: Hoare triple {7269#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 69: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 70: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 71: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 72: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 73: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,466 INFO L273 TraceCheckUtils]: 74: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 75: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 76: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 77: Hoare triple {7269#false} assume !(~i~2 < 19); {7269#false} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 78: Hoare triple {7269#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7269#false} is VALID [2018-11-23 12:15:04,467 INFO L256 TraceCheckUtils]: 79: Hoare triple {7269#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {7268#true} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 80: Hoare triple {7268#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7268#true} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 81: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 82: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,467 INFO L273 TraceCheckUtils]: 83: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 84: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 85: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 86: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 87: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 88: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 89: Hoare triple {7268#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 90: Hoare triple {7268#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7268#true} is VALID [2018-11-23 12:15:04,468 INFO L273 TraceCheckUtils]: 91: Hoare triple {7268#true} assume !(~i~0 < 20); {7268#true} is VALID [2018-11-23 12:15:04,469 INFO L273 TraceCheckUtils]: 92: Hoare triple {7268#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7268#true} is VALID [2018-11-23 12:15:04,469 INFO L273 TraceCheckUtils]: 93: Hoare triple {7268#true} assume true; {7268#true} is VALID [2018-11-23 12:15:04,469 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {7268#true} {7269#false} #74#return; {7269#false} is VALID [2018-11-23 12:15:04,469 INFO L273 TraceCheckUtils]: 95: Hoare triple {7269#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {7269#false} is VALID [2018-11-23 12:15:04,469 INFO L273 TraceCheckUtils]: 96: Hoare triple {7269#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7269#false} is VALID [2018-11-23 12:15:04,469 INFO L273 TraceCheckUtils]: 97: Hoare triple {7269#false} assume !false; {7269#false} is VALID [2018-11-23 12:15:04,473 INFO L134 CoverageAnalysis]: Checked inductivity of 482 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 286 trivial. 0 not checked. [2018-11-23 12:15:04,474 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:04,474 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:04,483 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:15:04,535 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:15:04,535 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:04,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:04,560 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:04,786 INFO L256 TraceCheckUtils]: 0: Hoare triple {7268#true} call ULTIMATE.init(); {7268#true} is VALID [2018-11-23 12:15:04,786 INFO L273 TraceCheckUtils]: 1: Hoare triple {7268#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7268#true} is VALID [2018-11-23 12:15:04,787 INFO L273 TraceCheckUtils]: 2: Hoare triple {7268#true} assume true; {7268#true} is VALID [2018-11-23 12:15:04,787 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7268#true} {7268#true} #66#return; {7268#true} is VALID [2018-11-23 12:15:04,787 INFO L256 TraceCheckUtils]: 4: Hoare triple {7268#true} call #t~ret12 := main(); {7268#true} is VALID [2018-11-23 12:15:04,788 INFO L273 TraceCheckUtils]: 5: Hoare triple {7268#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7303#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:04,788 INFO L273 TraceCheckUtils]: 6: Hoare triple {7303#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7303#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:04,789 INFO L273 TraceCheckUtils]: 7: Hoare triple {7303#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7271#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:04,790 INFO L273 TraceCheckUtils]: 8: Hoare triple {7271#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7271#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:04,791 INFO L273 TraceCheckUtils]: 9: Hoare triple {7271#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7272#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:04,791 INFO L273 TraceCheckUtils]: 10: Hoare triple {7272#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7272#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:04,792 INFO L273 TraceCheckUtils]: 11: Hoare triple {7272#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7273#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:04,792 INFO L273 TraceCheckUtils]: 12: Hoare triple {7273#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7273#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:04,793 INFO L273 TraceCheckUtils]: 13: Hoare triple {7273#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7274#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:04,794 INFO L273 TraceCheckUtils]: 14: Hoare triple {7274#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7274#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:04,795 INFO L273 TraceCheckUtils]: 15: Hoare triple {7274#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7275#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:04,795 INFO L273 TraceCheckUtils]: 16: Hoare triple {7275#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7275#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:04,796 INFO L273 TraceCheckUtils]: 17: Hoare triple {7275#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7276#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:04,796 INFO L273 TraceCheckUtils]: 18: Hoare triple {7276#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7276#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:04,797 INFO L273 TraceCheckUtils]: 19: Hoare triple {7276#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7277#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:04,798 INFO L273 TraceCheckUtils]: 20: Hoare triple {7277#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7277#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:04,799 INFO L273 TraceCheckUtils]: 21: Hoare triple {7277#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7278#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:04,799 INFO L273 TraceCheckUtils]: 22: Hoare triple {7278#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7278#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:04,800 INFO L273 TraceCheckUtils]: 23: Hoare triple {7278#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7279#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:04,801 INFO L273 TraceCheckUtils]: 24: Hoare triple {7279#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7279#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:04,801 INFO L273 TraceCheckUtils]: 25: Hoare triple {7279#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7280#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:04,802 INFO L273 TraceCheckUtils]: 26: Hoare triple {7280#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7280#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:04,803 INFO L273 TraceCheckUtils]: 27: Hoare triple {7280#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7281#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:04,803 INFO L273 TraceCheckUtils]: 28: Hoare triple {7281#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7281#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:04,804 INFO L273 TraceCheckUtils]: 29: Hoare triple {7281#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7282#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:04,804 INFO L273 TraceCheckUtils]: 30: Hoare triple {7282#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7282#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:04,805 INFO L273 TraceCheckUtils]: 31: Hoare triple {7282#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7283#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:04,806 INFO L273 TraceCheckUtils]: 32: Hoare triple {7283#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7283#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:04,807 INFO L273 TraceCheckUtils]: 33: Hoare triple {7283#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7284#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:04,807 INFO L273 TraceCheckUtils]: 34: Hoare triple {7284#(<= main_~i~1 14)} assume !(~i~1 < 20); {7269#false} is VALID [2018-11-23 12:15:04,807 INFO L256 TraceCheckUtils]: 35: Hoare triple {7269#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {7269#false} is VALID [2018-11-23 12:15:04,808 INFO L273 TraceCheckUtils]: 36: Hoare triple {7269#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7269#false} is VALID [2018-11-23 12:15:04,808 INFO L273 TraceCheckUtils]: 37: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,808 INFO L273 TraceCheckUtils]: 38: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,808 INFO L273 TraceCheckUtils]: 39: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,808 INFO L273 TraceCheckUtils]: 40: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,809 INFO L273 TraceCheckUtils]: 41: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,809 INFO L273 TraceCheckUtils]: 42: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,809 INFO L273 TraceCheckUtils]: 43: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,809 INFO L273 TraceCheckUtils]: 44: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,809 INFO L273 TraceCheckUtils]: 45: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,810 INFO L273 TraceCheckUtils]: 46: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,810 INFO L273 TraceCheckUtils]: 47: Hoare triple {7269#false} assume !(~i~0 < 20); {7269#false} is VALID [2018-11-23 12:15:04,810 INFO L273 TraceCheckUtils]: 48: Hoare triple {7269#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7269#false} is VALID [2018-11-23 12:15:04,810 INFO L273 TraceCheckUtils]: 49: Hoare triple {7269#false} assume true; {7269#false} is VALID [2018-11-23 12:15:04,810 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {7269#false} {7269#false} #70#return; {7269#false} is VALID [2018-11-23 12:15:04,811 INFO L273 TraceCheckUtils]: 51: Hoare triple {7269#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7269#false} is VALID [2018-11-23 12:15:04,811 INFO L256 TraceCheckUtils]: 52: Hoare triple {7269#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {7269#false} is VALID [2018-11-23 12:15:04,811 INFO L273 TraceCheckUtils]: 53: Hoare triple {7269#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7269#false} is VALID [2018-11-23 12:15:04,811 INFO L273 TraceCheckUtils]: 54: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,811 INFO L273 TraceCheckUtils]: 55: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,812 INFO L273 TraceCheckUtils]: 56: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,812 INFO L273 TraceCheckUtils]: 57: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,812 INFO L273 TraceCheckUtils]: 58: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,812 INFO L273 TraceCheckUtils]: 59: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 60: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 61: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 62: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 63: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 64: Hoare triple {7269#false} assume !(~i~0 < 20); {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 65: Hoare triple {7269#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 66: Hoare triple {7269#false} assume true; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {7269#false} {7269#false} #72#return; {7269#false} is VALID [2018-11-23 12:15:04,813 INFO L273 TraceCheckUtils]: 68: Hoare triple {7269#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 69: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 70: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 71: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 72: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 73: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 74: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 75: Hoare triple {7269#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7269#false} is VALID [2018-11-23 12:15:04,814 INFO L273 TraceCheckUtils]: 76: Hoare triple {7269#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 77: Hoare triple {7269#false} assume !(~i~2 < 19); {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 78: Hoare triple {7269#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L256 TraceCheckUtils]: 79: Hoare triple {7269#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 80: Hoare triple {7269#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 81: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 82: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 83: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 84: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,815 INFO L273 TraceCheckUtils]: 85: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 86: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 87: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 88: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 89: Hoare triple {7269#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 90: Hoare triple {7269#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 91: Hoare triple {7269#false} assume !(~i~0 < 20); {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 92: Hoare triple {7269#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L273 TraceCheckUtils]: 93: Hoare triple {7269#false} assume true; {7269#false} is VALID [2018-11-23 12:15:04,816 INFO L268 TraceCheckUtils]: 94: Hoare quadruple {7269#false} {7269#false} #74#return; {7269#false} is VALID [2018-11-23 12:15:04,817 INFO L273 TraceCheckUtils]: 95: Hoare triple {7269#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {7269#false} is VALID [2018-11-23 12:15:04,817 INFO L273 TraceCheckUtils]: 96: Hoare triple {7269#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7269#false} is VALID [2018-11-23 12:15:04,817 INFO L273 TraceCheckUtils]: 97: Hoare triple {7269#false} assume !false; {7269#false} is VALID [2018-11-23 12:15:04,821 INFO L134 CoverageAnalysis]: Checked inductivity of 482 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 286 trivial. 0 not checked. [2018-11-23 12:15:04,841 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:04,841 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:15:04,841 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 98 [2018-11-23 12:15:04,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:04,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:15:04,930 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:04,931 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:15:04,931 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:15:04,931 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:15:04,932 INFO L87 Difference]: Start difference. First operand 69 states and 73 transitions. Second operand 18 states. [2018-11-23 12:15:05,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:05,450 INFO L93 Difference]: Finished difference Result 106 states and 114 transitions. [2018-11-23 12:15:05,450 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:15:05,450 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 98 [2018-11-23 12:15:05,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:05,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:15:05,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-23 12:15:05,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:15:05,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 82 transitions. [2018-11-23 12:15:05,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 82 transitions. [2018-11-23 12:15:05,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:05,922 INFO L225 Difference]: With dead ends: 106 [2018-11-23 12:15:05,922 INFO L226 Difference]: Without dead ends: 72 [2018-11-23 12:15:05,922 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 98 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:15:05,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-11-23 12:15:05,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2018-11-23 12:15:05,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:05,958 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 71 states. [2018-11-23 12:15:05,958 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 71 states. [2018-11-23 12:15:05,959 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 71 states. [2018-11-23 12:15:05,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:05,961 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2018-11-23 12:15:05,961 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2018-11-23 12:15:05,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:05,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:05,962 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 72 states. [2018-11-23 12:15:05,962 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 72 states. [2018-11-23 12:15:05,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:05,965 INFO L93 Difference]: Finished difference Result 72 states and 76 transitions. [2018-11-23 12:15:05,965 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 76 transitions. [2018-11-23 12:15:05,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:05,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:05,966 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:05,966 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:05,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 71 states. [2018-11-23 12:15:05,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 75 transitions. [2018-11-23 12:15:05,968 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 75 transitions. Word has length 98 [2018-11-23 12:15:05,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:05,969 INFO L480 AbstractCegarLoop]: Abstraction has 71 states and 75 transitions. [2018-11-23 12:15:05,969 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:15:05,969 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 75 transitions. [2018-11-23 12:15:05,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2018-11-23 12:15:05,970 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:05,970 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 15, 4, 4, 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:15:05,970 INFO L423 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:05,971 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:05,971 INFO L82 PathProgramCache]: Analyzing trace with hash -1296735945, now seen corresponding path program 15 times [2018-11-23 12:15:05,971 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:05,971 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:05,972 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:05,972 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:05,972 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:05,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:06,744 INFO L256 TraceCheckUtils]: 0: Hoare triple {7985#true} call ULTIMATE.init(); {7985#true} is VALID [2018-11-23 12:15:06,744 INFO L273 TraceCheckUtils]: 1: Hoare triple {7985#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7985#true} is VALID [2018-11-23 12:15:06,745 INFO L273 TraceCheckUtils]: 2: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:06,745 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7985#true} {7985#true} #66#return; {7985#true} is VALID [2018-11-23 12:15:06,745 INFO L256 TraceCheckUtils]: 4: Hoare triple {7985#true} call #t~ret12 := main(); {7985#true} is VALID [2018-11-23 12:15:06,746 INFO L273 TraceCheckUtils]: 5: Hoare triple {7985#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7987#(= main_~i~1 0)} is VALID [2018-11-23 12:15:06,746 INFO L273 TraceCheckUtils]: 6: Hoare triple {7987#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7987#(= main_~i~1 0)} is VALID [2018-11-23 12:15:06,747 INFO L273 TraceCheckUtils]: 7: Hoare triple {7987#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7988#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:06,748 INFO L273 TraceCheckUtils]: 8: Hoare triple {7988#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7988#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:06,748 INFO L273 TraceCheckUtils]: 9: Hoare triple {7988#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7989#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:06,749 INFO L273 TraceCheckUtils]: 10: Hoare triple {7989#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7989#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:06,750 INFO L273 TraceCheckUtils]: 11: Hoare triple {7989#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7990#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:06,750 INFO L273 TraceCheckUtils]: 12: Hoare triple {7990#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7990#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:06,751 INFO L273 TraceCheckUtils]: 13: Hoare triple {7990#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7991#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:06,752 INFO L273 TraceCheckUtils]: 14: Hoare triple {7991#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7991#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:06,752 INFO L273 TraceCheckUtils]: 15: Hoare triple {7991#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7992#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:06,753 INFO L273 TraceCheckUtils]: 16: Hoare triple {7992#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7992#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:06,754 INFO L273 TraceCheckUtils]: 17: Hoare triple {7992#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7993#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:06,754 INFO L273 TraceCheckUtils]: 18: Hoare triple {7993#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7993#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:06,755 INFO L273 TraceCheckUtils]: 19: Hoare triple {7993#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7994#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:06,756 INFO L273 TraceCheckUtils]: 20: Hoare triple {7994#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7994#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:06,756 INFO L273 TraceCheckUtils]: 21: Hoare triple {7994#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7995#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:06,757 INFO L273 TraceCheckUtils]: 22: Hoare triple {7995#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7995#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:06,758 INFO L273 TraceCheckUtils]: 23: Hoare triple {7995#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7996#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:06,758 INFO L273 TraceCheckUtils]: 24: Hoare triple {7996#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7996#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:06,759 INFO L273 TraceCheckUtils]: 25: Hoare triple {7996#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7997#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:06,760 INFO L273 TraceCheckUtils]: 26: Hoare triple {7997#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7997#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:06,760 INFO L273 TraceCheckUtils]: 27: Hoare triple {7997#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7998#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:06,761 INFO L273 TraceCheckUtils]: 28: Hoare triple {7998#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7998#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:06,762 INFO L273 TraceCheckUtils]: 29: Hoare triple {7998#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7999#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:06,762 INFO L273 TraceCheckUtils]: 30: Hoare triple {7999#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7999#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:06,763 INFO L273 TraceCheckUtils]: 31: Hoare triple {7999#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8000#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:06,763 INFO L273 TraceCheckUtils]: 32: Hoare triple {8000#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8000#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:06,764 INFO L273 TraceCheckUtils]: 33: Hoare triple {8000#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8001#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:06,765 INFO L273 TraceCheckUtils]: 34: Hoare triple {8001#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8001#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:06,766 INFO L273 TraceCheckUtils]: 35: Hoare triple {8001#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8002#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:06,766 INFO L273 TraceCheckUtils]: 36: Hoare triple {8002#(<= main_~i~1 15)} assume !(~i~1 < 20); {7986#false} is VALID [2018-11-23 12:15:06,766 INFO L256 TraceCheckUtils]: 37: Hoare triple {7986#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:06,767 INFO L273 TraceCheckUtils]: 38: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7985#true} is VALID [2018-11-23 12:15:06,767 INFO L273 TraceCheckUtils]: 39: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,767 INFO L273 TraceCheckUtils]: 40: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,767 INFO L273 TraceCheckUtils]: 41: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,767 INFO L273 TraceCheckUtils]: 42: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,768 INFO L273 TraceCheckUtils]: 43: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,768 INFO L273 TraceCheckUtils]: 44: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,768 INFO L273 TraceCheckUtils]: 45: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,768 INFO L273 TraceCheckUtils]: 46: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L273 TraceCheckUtils]: 47: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L273 TraceCheckUtils]: 48: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L273 TraceCheckUtils]: 49: Hoare triple {7985#true} assume !(~i~0 < 20); {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L273 TraceCheckUtils]: 50: Hoare triple {7985#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L273 TraceCheckUtils]: 51: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:06,769 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {7985#true} {7986#false} #70#return; {7986#false} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 53: Hoare triple {7986#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7986#false} is VALID [2018-11-23 12:15:06,770 INFO L256 TraceCheckUtils]: 54: Hoare triple {7986#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 55: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 56: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 57: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 58: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 59: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 60: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,770 INFO L273 TraceCheckUtils]: 61: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 62: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 63: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 64: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 65: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 66: Hoare triple {7985#true} assume !(~i~0 < 20); {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 67: Hoare triple {7985#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L273 TraceCheckUtils]: 68: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:06,771 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {7985#true} {7986#false} #72#return; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 70: Hoare triple {7986#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 71: Hoare triple {7986#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 72: Hoare triple {7986#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 73: Hoare triple {7986#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 74: Hoare triple {7986#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 75: Hoare triple {7986#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 76: Hoare triple {7986#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 77: Hoare triple {7986#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7986#false} is VALID [2018-11-23 12:15:06,772 INFO L273 TraceCheckUtils]: 78: Hoare triple {7986#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7986#false} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 79: Hoare triple {7986#false} assume !(~i~2 < 19); {7986#false} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 80: Hoare triple {7986#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7986#false} is VALID [2018-11-23 12:15:06,773 INFO L256 TraceCheckUtils]: 81: Hoare triple {7986#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 82: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7985#true} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 83: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 84: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 85: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,773 INFO L273 TraceCheckUtils]: 86: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 87: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 88: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 89: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 90: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 91: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 92: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 93: Hoare triple {7985#true} assume !(~i~0 < 20); {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 94: Hoare triple {7985#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7985#true} is VALID [2018-11-23 12:15:06,774 INFO L273 TraceCheckUtils]: 95: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:06,775 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {7985#true} {7986#false} #74#return; {7986#false} is VALID [2018-11-23 12:15:06,775 INFO L273 TraceCheckUtils]: 97: Hoare triple {7986#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {7986#false} is VALID [2018-11-23 12:15:06,775 INFO L273 TraceCheckUtils]: 98: Hoare triple {7986#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7986#false} is VALID [2018-11-23 12:15:06,775 INFO L273 TraceCheckUtils]: 99: Hoare triple {7986#false} assume !false; {7986#false} is VALID [2018-11-23 12:15:06,779 INFO L134 CoverageAnalysis]: Checked inductivity of 511 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 286 trivial. 0 not checked. [2018-11-23 12:15:06,780 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:06,780 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:06,789 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:15:06,846 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2018-11-23 12:15:06,846 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:06,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:06,892 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:07,054 INFO L256 TraceCheckUtils]: 0: Hoare triple {7985#true} call ULTIMATE.init(); {7985#true} is VALID [2018-11-23 12:15:07,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {7985#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {7985#true} is VALID [2018-11-23 12:15:07,054 INFO L273 TraceCheckUtils]: 2: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:07,054 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7985#true} {7985#true} #66#return; {7985#true} is VALID [2018-11-23 12:15:07,055 INFO L256 TraceCheckUtils]: 4: Hoare triple {7985#true} call #t~ret12 := main(); {7985#true} is VALID [2018-11-23 12:15:07,055 INFO L273 TraceCheckUtils]: 5: Hoare triple {7985#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {7985#true} is VALID [2018-11-23 12:15:07,055 INFO L273 TraceCheckUtils]: 6: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,055 INFO L273 TraceCheckUtils]: 7: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 8: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 9: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 10: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 11: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 12: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 13: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 14: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,056 INFO L273 TraceCheckUtils]: 15: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 16: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 17: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 18: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 19: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 20: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 21: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 22: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 23: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,057 INFO L273 TraceCheckUtils]: 24: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 25: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 26: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 27: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 28: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 29: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 30: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 31: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,058 INFO L273 TraceCheckUtils]: 32: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 33: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 34: Hoare triple {7985#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 35: Hoare triple {7985#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 36: Hoare triple {7985#true} assume !(~i~1 < 20); {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L256 TraceCheckUtils]: 37: Hoare triple {7985#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 38: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 39: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 40: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,059 INFO L273 TraceCheckUtils]: 41: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 42: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 43: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 44: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 45: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 46: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 47: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 48: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,060 INFO L273 TraceCheckUtils]: 49: Hoare triple {7985#true} assume !(~i~0 < 20); {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 50: Hoare triple {7985#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 51: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L268 TraceCheckUtils]: 52: Hoare quadruple {7985#true} {7985#true} #70#return; {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 53: Hoare triple {7985#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L256 TraceCheckUtils]: 54: Hoare triple {7985#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 55: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 56: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 57: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,061 INFO L273 TraceCheckUtils]: 58: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 59: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 60: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 61: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 62: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 63: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 64: Hoare triple {7985#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 65: Hoare triple {7985#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {7985#true} is VALID [2018-11-23 12:15:07,062 INFO L273 TraceCheckUtils]: 66: Hoare triple {7985#true} assume !(~i~0 < 20); {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 67: Hoare triple {7985#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 68: Hoare triple {7985#true} assume true; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L268 TraceCheckUtils]: 69: Hoare quadruple {7985#true} {7985#true} #72#return; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 70: Hoare triple {7985#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 71: Hoare triple {7985#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 72: Hoare triple {7985#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 73: Hoare triple {7985#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7985#true} is VALID [2018-11-23 12:15:07,063 INFO L273 TraceCheckUtils]: 74: Hoare triple {7985#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 75: Hoare triple {7985#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 76: Hoare triple {7985#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 77: Hoare triple {7985#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 78: Hoare triple {7985#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 79: Hoare triple {7985#true} assume !(~i~2 < 19); {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L273 TraceCheckUtils]: 80: Hoare triple {7985#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {7985#true} is VALID [2018-11-23 12:15:07,064 INFO L256 TraceCheckUtils]: 81: Hoare triple {7985#true} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {7985#true} is VALID [2018-11-23 12:15:07,065 INFO L273 TraceCheckUtils]: 82: Hoare triple {7985#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8252#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:07,065 INFO L273 TraceCheckUtils]: 83: Hoare triple {8252#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8252#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:07,066 INFO L273 TraceCheckUtils]: 84: Hoare triple {8252#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8259#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:07,066 INFO L273 TraceCheckUtils]: 85: Hoare triple {8259#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8259#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:07,067 INFO L273 TraceCheckUtils]: 86: Hoare triple {8259#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8266#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:07,067 INFO L273 TraceCheckUtils]: 87: Hoare triple {8266#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8266#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:07,067 INFO L273 TraceCheckUtils]: 88: Hoare triple {8266#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8273#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:07,068 INFO L273 TraceCheckUtils]: 89: Hoare triple {8273#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8273#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:07,068 INFO L273 TraceCheckUtils]: 90: Hoare triple {8273#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8280#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:07,069 INFO L273 TraceCheckUtils]: 91: Hoare triple {8280#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8280#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:07,070 INFO L273 TraceCheckUtils]: 92: Hoare triple {8280#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8287#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:07,070 INFO L273 TraceCheckUtils]: 93: Hoare triple {8287#(<= avg_~i~0 5)} assume !(~i~0 < 20); {7986#false} is VALID [2018-11-23 12:15:07,071 INFO L273 TraceCheckUtils]: 94: Hoare triple {7986#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {7986#false} is VALID [2018-11-23 12:15:07,071 INFO L273 TraceCheckUtils]: 95: Hoare triple {7986#false} assume true; {7986#false} is VALID [2018-11-23 12:15:07,071 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {7986#false} {7985#true} #74#return; {7986#false} is VALID [2018-11-23 12:15:07,071 INFO L273 TraceCheckUtils]: 97: Hoare triple {7986#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {7986#false} is VALID [2018-11-23 12:15:07,071 INFO L273 TraceCheckUtils]: 98: Hoare triple {7986#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7986#false} is VALID [2018-11-23 12:15:07,072 INFO L273 TraceCheckUtils]: 99: Hoare triple {7986#false} assume !false; {7986#false} is VALID [2018-11-23 12:15:07,076 INFO L134 CoverageAnalysis]: Checked inductivity of 511 backedges. 128 proven. 25 refuted. 0 times theorem prover too weak. 358 trivial. 0 not checked. [2018-11-23 12:15:07,097 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:07,098 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 8] total 24 [2018-11-23 12:15:07,098 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 100 [2018-11-23 12:15:07,099 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:07,099 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:15:07,219 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:07,219 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:15:07,220 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:15:07,220 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=372, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:15:07,220 INFO L87 Difference]: Start difference. First operand 71 states and 75 transitions. Second operand 24 states. [2018-11-23 12:15:07,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:07,604 INFO L93 Difference]: Finished difference Result 111 states and 123 transitions. [2018-11-23 12:15:07,604 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-11-23 12:15:07,604 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 100 [2018-11-23 12:15:07,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:07,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:15:07,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 100 transitions. [2018-11-23 12:15:07,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:15:07,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 100 transitions. [2018-11-23 12:15:07,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 100 transitions. [2018-11-23 12:15:08,183 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:08,185 INFO L225 Difference]: With dead ends: 111 [2018-11-23 12:15:08,185 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 12:15:08,186 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=180, Invalid=372, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:15:08,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 12:15:08,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 75. [2018-11-23 12:15:08,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:08,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 75 states. [2018-11-23 12:15:08,216 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 75 states. [2018-11-23 12:15:08,216 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 75 states. [2018-11-23 12:15:08,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:08,221 INFO L93 Difference]: Finished difference Result 77 states and 81 transitions. [2018-11-23 12:15:08,221 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 81 transitions. [2018-11-23 12:15:08,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:08,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:08,222 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 77 states. [2018-11-23 12:15:08,222 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 77 states. [2018-11-23 12:15:08,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:08,225 INFO L93 Difference]: Finished difference Result 77 states and 81 transitions. [2018-11-23 12:15:08,225 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 81 transitions. [2018-11-23 12:15:08,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:08,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:08,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:08,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:08,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-23 12:15:08,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 79 transitions. [2018-11-23 12:15:08,229 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 79 transitions. Word has length 100 [2018-11-23 12:15:08,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:08,229 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 79 transitions. [2018-11-23 12:15:08,229 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:15:08,229 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 79 transitions. [2018-11-23 12:15:08,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2018-11-23 12:15:08,231 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:08,231 INFO L402 BasicCegarLoop]: trace histogram [18, 18, 16, 16, 4, 4, 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:15:08,231 INFO L423 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:08,231 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:08,231 INFO L82 PathProgramCache]: Analyzing trace with hash -1648969321, now seen corresponding path program 16 times [2018-11-23 12:15:08,232 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:08,232 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:08,232 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:08,233 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:08,233 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:08,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:08,909 INFO L256 TraceCheckUtils]: 0: Hoare triple {8737#true} call ULTIMATE.init(); {8737#true} is VALID [2018-11-23 12:15:08,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {8737#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8737#true} is VALID [2018-11-23 12:15:08,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {8737#true} assume true; {8737#true} is VALID [2018-11-23 12:15:08,909 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8737#true} {8737#true} #66#return; {8737#true} is VALID [2018-11-23 12:15:08,909 INFO L256 TraceCheckUtils]: 4: Hoare triple {8737#true} call #t~ret12 := main(); {8737#true} is VALID [2018-11-23 12:15:08,910 INFO L273 TraceCheckUtils]: 5: Hoare triple {8737#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8739#(= main_~i~1 0)} is VALID [2018-11-23 12:15:08,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {8739#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8739#(= main_~i~1 0)} is VALID [2018-11-23 12:15:08,911 INFO L273 TraceCheckUtils]: 7: Hoare triple {8739#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8740#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:08,911 INFO L273 TraceCheckUtils]: 8: Hoare triple {8740#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8740#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:08,912 INFO L273 TraceCheckUtils]: 9: Hoare triple {8740#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8741#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:08,912 INFO L273 TraceCheckUtils]: 10: Hoare triple {8741#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8741#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:08,912 INFO L273 TraceCheckUtils]: 11: Hoare triple {8741#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8742#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:08,913 INFO L273 TraceCheckUtils]: 12: Hoare triple {8742#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8742#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:08,913 INFO L273 TraceCheckUtils]: 13: Hoare triple {8742#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8743#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:08,914 INFO L273 TraceCheckUtils]: 14: Hoare triple {8743#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8743#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:08,914 INFO L273 TraceCheckUtils]: 15: Hoare triple {8743#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8744#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:08,915 INFO L273 TraceCheckUtils]: 16: Hoare triple {8744#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8744#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:08,916 INFO L273 TraceCheckUtils]: 17: Hoare triple {8744#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8745#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:08,916 INFO L273 TraceCheckUtils]: 18: Hoare triple {8745#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8745#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:08,917 INFO L273 TraceCheckUtils]: 19: Hoare triple {8745#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8746#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:08,918 INFO L273 TraceCheckUtils]: 20: Hoare triple {8746#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8746#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:08,918 INFO L273 TraceCheckUtils]: 21: Hoare triple {8746#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8747#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:08,919 INFO L273 TraceCheckUtils]: 22: Hoare triple {8747#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8747#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:08,920 INFO L273 TraceCheckUtils]: 23: Hoare triple {8747#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8748#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:08,920 INFO L273 TraceCheckUtils]: 24: Hoare triple {8748#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8748#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:08,921 INFO L273 TraceCheckUtils]: 25: Hoare triple {8748#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8749#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:08,921 INFO L273 TraceCheckUtils]: 26: Hoare triple {8749#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8749#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:08,922 INFO L273 TraceCheckUtils]: 27: Hoare triple {8749#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8750#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:08,923 INFO L273 TraceCheckUtils]: 28: Hoare triple {8750#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8750#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:08,924 INFO L273 TraceCheckUtils]: 29: Hoare triple {8750#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8751#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:08,924 INFO L273 TraceCheckUtils]: 30: Hoare triple {8751#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8751#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:08,925 INFO L273 TraceCheckUtils]: 31: Hoare triple {8751#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8752#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:08,925 INFO L273 TraceCheckUtils]: 32: Hoare triple {8752#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8752#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:08,926 INFO L273 TraceCheckUtils]: 33: Hoare triple {8752#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8753#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:08,927 INFO L273 TraceCheckUtils]: 34: Hoare triple {8753#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8753#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:08,927 INFO L273 TraceCheckUtils]: 35: Hoare triple {8753#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8754#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:08,928 INFO L273 TraceCheckUtils]: 36: Hoare triple {8754#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8754#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:08,929 INFO L273 TraceCheckUtils]: 37: Hoare triple {8754#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8755#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:08,929 INFO L273 TraceCheckUtils]: 38: Hoare triple {8755#(<= main_~i~1 16)} assume !(~i~1 < 20); {8738#false} is VALID [2018-11-23 12:15:08,930 INFO L256 TraceCheckUtils]: 39: Hoare triple {8738#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {8737#true} is VALID [2018-11-23 12:15:08,930 INFO L273 TraceCheckUtils]: 40: Hoare triple {8737#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8737#true} is VALID [2018-11-23 12:15:08,930 INFO L273 TraceCheckUtils]: 41: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,930 INFO L273 TraceCheckUtils]: 42: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,931 INFO L273 TraceCheckUtils]: 43: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,931 INFO L273 TraceCheckUtils]: 44: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,931 INFO L273 TraceCheckUtils]: 45: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,931 INFO L273 TraceCheckUtils]: 46: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,931 INFO L273 TraceCheckUtils]: 47: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 48: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 49: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 50: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 51: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 52: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,932 INFO L273 TraceCheckUtils]: 53: Hoare triple {8737#true} assume !(~i~0 < 20); {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 54: Hoare triple {8737#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 55: Hoare triple {8737#true} assume true; {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {8737#true} {8738#false} #70#return; {8738#false} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 57: Hoare triple {8738#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {8738#false} is VALID [2018-11-23 12:15:08,933 INFO L256 TraceCheckUtils]: 58: Hoare triple {8738#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 59: Hoare triple {8737#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 60: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,933 INFO L273 TraceCheckUtils]: 61: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 62: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 63: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 64: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 65: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 66: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 67: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 68: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,934 INFO L273 TraceCheckUtils]: 69: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 70: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 71: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 72: Hoare triple {8737#true} assume !(~i~0 < 20); {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 73: Hoare triple {8737#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 74: Hoare triple {8737#true} assume true; {8737#true} is VALID [2018-11-23 12:15:08,935 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {8737#true} {8738#false} #72#return; {8738#false} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 76: Hoare triple {8738#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {8738#false} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 77: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:08,935 INFO L273 TraceCheckUtils]: 78: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 79: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 80: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 81: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 82: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 83: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 84: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:08,936 INFO L273 TraceCheckUtils]: 85: Hoare triple {8738#false} assume !(~i~2 < 19); {8738#false} is VALID [2018-11-23 12:15:08,937 INFO L273 TraceCheckUtils]: 86: Hoare triple {8738#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {8738#false} is VALID [2018-11-23 12:15:08,937 INFO L256 TraceCheckUtils]: 87: Hoare triple {8738#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {8737#true} is VALID [2018-11-23 12:15:08,937 INFO L273 TraceCheckUtils]: 88: Hoare triple {8737#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8737#true} is VALID [2018-11-23 12:15:08,937 INFO L273 TraceCheckUtils]: 89: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,937 INFO L273 TraceCheckUtils]: 90: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,937 INFO L273 TraceCheckUtils]: 91: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 92: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 93: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 94: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 95: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 96: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,938 INFO L273 TraceCheckUtils]: 97: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 98: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 99: Hoare triple {8737#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 100: Hoare triple {8737#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 101: Hoare triple {8737#true} assume !(~i~0 < 20); {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 102: Hoare triple {8737#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 103: Hoare triple {8737#true} assume true; {8737#true} is VALID [2018-11-23 12:15:08,939 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {8737#true} {8738#false} #74#return; {8738#false} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 105: Hoare triple {8738#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {8738#false} is VALID [2018-11-23 12:15:08,939 INFO L273 TraceCheckUtils]: 106: Hoare triple {8738#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8738#false} is VALID [2018-11-23 12:15:08,940 INFO L273 TraceCheckUtils]: 107: Hoare triple {8738#false} assume !false; {8738#false} is VALID [2018-11-23 12:15:08,945 INFO L134 CoverageAnalysis]: Checked inductivity of 647 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:15:08,945 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:08,945 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:08,956 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:15:09,008 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:15:09,009 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:09,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:09,039 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:09,225 INFO L256 TraceCheckUtils]: 0: Hoare triple {8737#true} call ULTIMATE.init(); {8737#true} is VALID [2018-11-23 12:15:09,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {8737#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {8737#true} is VALID [2018-11-23 12:15:09,225 INFO L273 TraceCheckUtils]: 2: Hoare triple {8737#true} assume true; {8737#true} is VALID [2018-11-23 12:15:09,226 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8737#true} {8737#true} #66#return; {8737#true} is VALID [2018-11-23 12:15:09,226 INFO L256 TraceCheckUtils]: 4: Hoare triple {8737#true} call #t~ret12 := main(); {8737#true} is VALID [2018-11-23 12:15:09,227 INFO L273 TraceCheckUtils]: 5: Hoare triple {8737#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {8774#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:09,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {8774#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8774#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:09,228 INFO L273 TraceCheckUtils]: 7: Hoare triple {8774#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8740#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:09,228 INFO L273 TraceCheckUtils]: 8: Hoare triple {8740#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8740#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:09,229 INFO L273 TraceCheckUtils]: 9: Hoare triple {8740#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8741#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:09,229 INFO L273 TraceCheckUtils]: 10: Hoare triple {8741#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8741#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:09,230 INFO L273 TraceCheckUtils]: 11: Hoare triple {8741#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8742#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:09,230 INFO L273 TraceCheckUtils]: 12: Hoare triple {8742#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8742#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:09,231 INFO L273 TraceCheckUtils]: 13: Hoare triple {8742#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8743#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:09,231 INFO L273 TraceCheckUtils]: 14: Hoare triple {8743#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8743#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:09,232 INFO L273 TraceCheckUtils]: 15: Hoare triple {8743#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8744#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:09,232 INFO L273 TraceCheckUtils]: 16: Hoare triple {8744#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8744#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:09,233 INFO L273 TraceCheckUtils]: 17: Hoare triple {8744#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8745#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:09,234 INFO L273 TraceCheckUtils]: 18: Hoare triple {8745#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8745#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:09,235 INFO L273 TraceCheckUtils]: 19: Hoare triple {8745#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8746#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:09,235 INFO L273 TraceCheckUtils]: 20: Hoare triple {8746#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8746#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:09,236 INFO L273 TraceCheckUtils]: 21: Hoare triple {8746#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8747#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:09,237 INFO L273 TraceCheckUtils]: 22: Hoare triple {8747#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8747#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:09,237 INFO L273 TraceCheckUtils]: 23: Hoare triple {8747#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8748#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:09,238 INFO L273 TraceCheckUtils]: 24: Hoare triple {8748#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8748#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:09,239 INFO L273 TraceCheckUtils]: 25: Hoare triple {8748#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8749#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:09,239 INFO L273 TraceCheckUtils]: 26: Hoare triple {8749#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8749#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:09,240 INFO L273 TraceCheckUtils]: 27: Hoare triple {8749#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8750#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:09,241 INFO L273 TraceCheckUtils]: 28: Hoare triple {8750#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8750#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:09,241 INFO L273 TraceCheckUtils]: 29: Hoare triple {8750#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8751#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:09,242 INFO L273 TraceCheckUtils]: 30: Hoare triple {8751#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8751#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:09,243 INFO L273 TraceCheckUtils]: 31: Hoare triple {8751#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8752#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:09,243 INFO L273 TraceCheckUtils]: 32: Hoare triple {8752#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8752#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:09,244 INFO L273 TraceCheckUtils]: 33: Hoare triple {8752#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8753#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:09,244 INFO L273 TraceCheckUtils]: 34: Hoare triple {8753#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8753#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:09,245 INFO L273 TraceCheckUtils]: 35: Hoare triple {8753#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8754#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:09,246 INFO L273 TraceCheckUtils]: 36: Hoare triple {8754#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {8754#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:09,247 INFO L273 TraceCheckUtils]: 37: Hoare triple {8754#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {8755#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:09,247 INFO L273 TraceCheckUtils]: 38: Hoare triple {8755#(<= main_~i~1 16)} assume !(~i~1 < 20); {8738#false} is VALID [2018-11-23 12:15:09,247 INFO L256 TraceCheckUtils]: 39: Hoare triple {8738#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {8738#false} is VALID [2018-11-23 12:15:09,248 INFO L273 TraceCheckUtils]: 40: Hoare triple {8738#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8738#false} is VALID [2018-11-23 12:15:09,248 INFO L273 TraceCheckUtils]: 41: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,248 INFO L273 TraceCheckUtils]: 42: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,248 INFO L273 TraceCheckUtils]: 43: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,248 INFO L273 TraceCheckUtils]: 44: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,249 INFO L273 TraceCheckUtils]: 45: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,249 INFO L273 TraceCheckUtils]: 46: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,249 INFO L273 TraceCheckUtils]: 47: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,249 INFO L273 TraceCheckUtils]: 48: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,249 INFO L273 TraceCheckUtils]: 49: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,250 INFO L273 TraceCheckUtils]: 50: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,250 INFO L273 TraceCheckUtils]: 51: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,250 INFO L273 TraceCheckUtils]: 52: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,250 INFO L273 TraceCheckUtils]: 53: Hoare triple {8738#false} assume !(~i~0 < 20); {8738#false} is VALID [2018-11-23 12:15:09,250 INFO L273 TraceCheckUtils]: 54: Hoare triple {8738#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8738#false} is VALID [2018-11-23 12:15:09,251 INFO L273 TraceCheckUtils]: 55: Hoare triple {8738#false} assume true; {8738#false} is VALID [2018-11-23 12:15:09,251 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {8738#false} {8738#false} #70#return; {8738#false} is VALID [2018-11-23 12:15:09,251 INFO L273 TraceCheckUtils]: 57: Hoare triple {8738#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {8738#false} is VALID [2018-11-23 12:15:09,251 INFO L256 TraceCheckUtils]: 58: Hoare triple {8738#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {8738#false} is VALID [2018-11-23 12:15:09,252 INFO L273 TraceCheckUtils]: 59: Hoare triple {8738#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8738#false} is VALID [2018-11-23 12:15:09,252 INFO L273 TraceCheckUtils]: 60: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,252 INFO L273 TraceCheckUtils]: 61: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,252 INFO L273 TraceCheckUtils]: 62: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,252 INFO L273 TraceCheckUtils]: 63: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 64: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 65: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 66: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 67: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 68: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 69: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,253 INFO L273 TraceCheckUtils]: 70: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 71: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 72: Hoare triple {8738#false} assume !(~i~0 < 20); {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 73: Hoare triple {8738#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 74: Hoare triple {8738#false} assume true; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L268 TraceCheckUtils]: 75: Hoare quadruple {8738#false} {8738#false} #72#return; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 76: Hoare triple {8738#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 77: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 78: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:09,254 INFO L273 TraceCheckUtils]: 79: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 80: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 81: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 82: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 83: Hoare triple {8738#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 84: Hoare triple {8738#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 85: Hoare triple {8738#false} assume !(~i~2 < 19); {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L273 TraceCheckUtils]: 86: Hoare triple {8738#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {8738#false} is VALID [2018-11-23 12:15:09,255 INFO L256 TraceCheckUtils]: 87: Hoare triple {8738#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 88: Hoare triple {8738#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 89: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 90: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 91: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 92: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 93: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 94: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 95: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,256 INFO L273 TraceCheckUtils]: 96: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 97: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 98: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 99: Hoare triple {8738#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 100: Hoare triple {8738#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 101: Hoare triple {8738#false} assume !(~i~0 < 20); {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 102: Hoare triple {8738#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L273 TraceCheckUtils]: 103: Hoare triple {8738#false} assume true; {8738#false} is VALID [2018-11-23 12:15:09,257 INFO L268 TraceCheckUtils]: 104: Hoare quadruple {8738#false} {8738#false} #74#return; {8738#false} is VALID [2018-11-23 12:15:09,258 INFO L273 TraceCheckUtils]: 105: Hoare triple {8738#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {8738#false} is VALID [2018-11-23 12:15:09,258 INFO L273 TraceCheckUtils]: 106: Hoare triple {8738#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {8738#false} is VALID [2018-11-23 12:15:09,258 INFO L273 TraceCheckUtils]: 107: Hoare triple {8738#false} assume !false; {8738#false} is VALID [2018-11-23 12:15:09,263 INFO L134 CoverageAnalysis]: Checked inductivity of 647 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:15:09,282 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:09,283 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:15:09,283 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 108 [2018-11-23 12:15:09,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:09,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:15:09,360 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:09,360 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:15:09,361 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:15:09,361 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:15:09,362 INFO L87 Difference]: Start difference. First operand 75 states and 79 transitions. Second operand 20 states. [2018-11-23 12:15:09,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:09,940 INFO L93 Difference]: Finished difference Result 114 states and 122 transitions. [2018-11-23 12:15:09,940 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:15:09,940 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 108 [2018-11-23 12:15:09,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:09,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:15:09,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 86 transitions. [2018-11-23 12:15:09,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:15:09,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 86 transitions. [2018-11-23 12:15:09,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 86 transitions. [2018-11-23 12:15:10,417 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:10,419 INFO L225 Difference]: With dead ends: 114 [2018-11-23 12:15:10,419 INFO L226 Difference]: Without dead ends: 78 [2018-11-23 12:15:10,419 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 108 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:15:10,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-23 12:15:10,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 77. [2018-11-23 12:15:10,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:10,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 77 states. [2018-11-23 12:15:10,530 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 77 states. [2018-11-23 12:15:10,530 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 77 states. [2018-11-23 12:15:10,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:10,533 INFO L93 Difference]: Finished difference Result 78 states and 82 transitions. [2018-11-23 12:15:10,533 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 82 transitions. [2018-11-23 12:15:10,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:10,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:10,534 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 78 states. [2018-11-23 12:15:10,534 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 78 states. [2018-11-23 12:15:10,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:10,536 INFO L93 Difference]: Finished difference Result 78 states and 82 transitions. [2018-11-23 12:15:10,536 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 82 transitions. [2018-11-23 12:15:10,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:10,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:10,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:10,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:10,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-11-23 12:15:10,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 81 transitions. [2018-11-23 12:15:10,538 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 81 transitions. Word has length 108 [2018-11-23 12:15:10,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:10,539 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 81 transitions. [2018-11-23 12:15:10,539 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:15:10,539 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 81 transitions. [2018-11-23 12:15:10,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2018-11-23 12:15:10,540 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:10,540 INFO L402 BasicCegarLoop]: trace histogram [18, 18, 17, 17, 4, 4, 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:15:10,540 INFO L423 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:10,540 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:10,541 INFO L82 PathProgramCache]: Analyzing trace with hash 1027293945, now seen corresponding path program 17 times [2018-11-23 12:15:10,541 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:10,541 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:10,542 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:10,542 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:10,542 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:10,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:11,017 INFO L256 TraceCheckUtils]: 0: Hoare triple {9519#true} call ULTIMATE.init(); {9519#true} is VALID [2018-11-23 12:15:11,018 INFO L273 TraceCheckUtils]: 1: Hoare triple {9519#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9519#true} is VALID [2018-11-23 12:15:11,018 INFO L273 TraceCheckUtils]: 2: Hoare triple {9519#true} assume true; {9519#true} is VALID [2018-11-23 12:15:11,018 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9519#true} {9519#true} #66#return; {9519#true} is VALID [2018-11-23 12:15:11,018 INFO L256 TraceCheckUtils]: 4: Hoare triple {9519#true} call #t~ret12 := main(); {9519#true} is VALID [2018-11-23 12:15:11,019 INFO L273 TraceCheckUtils]: 5: Hoare triple {9519#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9521#(= main_~i~1 0)} is VALID [2018-11-23 12:15:11,019 INFO L273 TraceCheckUtils]: 6: Hoare triple {9521#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9521#(= main_~i~1 0)} is VALID [2018-11-23 12:15:11,020 INFO L273 TraceCheckUtils]: 7: Hoare triple {9521#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9522#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:11,020 INFO L273 TraceCheckUtils]: 8: Hoare triple {9522#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9522#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:11,021 INFO L273 TraceCheckUtils]: 9: Hoare triple {9522#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9523#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:11,021 INFO L273 TraceCheckUtils]: 10: Hoare triple {9523#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9523#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:11,021 INFO L273 TraceCheckUtils]: 11: Hoare triple {9523#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9524#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:11,022 INFO L273 TraceCheckUtils]: 12: Hoare triple {9524#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9524#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:11,022 INFO L273 TraceCheckUtils]: 13: Hoare triple {9524#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9525#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:11,023 INFO L273 TraceCheckUtils]: 14: Hoare triple {9525#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9525#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:11,024 INFO L273 TraceCheckUtils]: 15: Hoare triple {9525#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9526#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:11,024 INFO L273 TraceCheckUtils]: 16: Hoare triple {9526#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9526#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:11,025 INFO L273 TraceCheckUtils]: 17: Hoare triple {9526#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9527#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:11,026 INFO L273 TraceCheckUtils]: 18: Hoare triple {9527#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9527#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:11,026 INFO L273 TraceCheckUtils]: 19: Hoare triple {9527#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9528#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:11,027 INFO L273 TraceCheckUtils]: 20: Hoare triple {9528#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9528#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:11,028 INFO L273 TraceCheckUtils]: 21: Hoare triple {9528#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9529#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:11,028 INFO L273 TraceCheckUtils]: 22: Hoare triple {9529#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9529#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:11,029 INFO L273 TraceCheckUtils]: 23: Hoare triple {9529#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9530#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:11,030 INFO L273 TraceCheckUtils]: 24: Hoare triple {9530#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9530#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:11,030 INFO L273 TraceCheckUtils]: 25: Hoare triple {9530#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9531#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:11,031 INFO L273 TraceCheckUtils]: 26: Hoare triple {9531#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9531#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:11,032 INFO L273 TraceCheckUtils]: 27: Hoare triple {9531#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9532#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:11,032 INFO L273 TraceCheckUtils]: 28: Hoare triple {9532#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9532#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:11,033 INFO L273 TraceCheckUtils]: 29: Hoare triple {9532#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9533#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:11,033 INFO L273 TraceCheckUtils]: 30: Hoare triple {9533#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9533#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:11,034 INFO L273 TraceCheckUtils]: 31: Hoare triple {9533#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9534#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:11,035 INFO L273 TraceCheckUtils]: 32: Hoare triple {9534#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9534#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:11,036 INFO L273 TraceCheckUtils]: 33: Hoare triple {9534#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9535#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:11,036 INFO L273 TraceCheckUtils]: 34: Hoare triple {9535#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9535#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:11,037 INFO L273 TraceCheckUtils]: 35: Hoare triple {9535#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9536#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:11,037 INFO L273 TraceCheckUtils]: 36: Hoare triple {9536#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9536#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:11,038 INFO L273 TraceCheckUtils]: 37: Hoare triple {9536#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9537#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:11,039 INFO L273 TraceCheckUtils]: 38: Hoare triple {9537#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9537#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:11,040 INFO L273 TraceCheckUtils]: 39: Hoare triple {9537#(<= main_~i~1 16)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9538#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:11,040 INFO L273 TraceCheckUtils]: 40: Hoare triple {9538#(<= main_~i~1 17)} assume !(~i~1 < 20); {9520#false} is VALID [2018-11-23 12:15:11,040 INFO L256 TraceCheckUtils]: 41: Hoare triple {9520#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {9519#true} is VALID [2018-11-23 12:15:11,041 INFO L273 TraceCheckUtils]: 42: Hoare triple {9519#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9519#true} is VALID [2018-11-23 12:15:11,041 INFO L273 TraceCheckUtils]: 43: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,041 INFO L273 TraceCheckUtils]: 44: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,041 INFO L273 TraceCheckUtils]: 45: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,042 INFO L273 TraceCheckUtils]: 46: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,042 INFO L273 TraceCheckUtils]: 47: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,042 INFO L273 TraceCheckUtils]: 48: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,042 INFO L273 TraceCheckUtils]: 49: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,042 INFO L273 TraceCheckUtils]: 50: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 51: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 52: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 53: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 54: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 55: Hoare triple {9519#true} assume !(~i~0 < 20); {9519#true} is VALID [2018-11-23 12:15:11,043 INFO L273 TraceCheckUtils]: 56: Hoare triple {9519#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 57: Hoare triple {9519#true} assume true; {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {9519#true} {9520#false} #70#return; {9520#false} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 59: Hoare triple {9520#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {9520#false} is VALID [2018-11-23 12:15:11,044 INFO L256 TraceCheckUtils]: 60: Hoare triple {9520#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 61: Hoare triple {9519#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 62: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 63: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,044 INFO L273 TraceCheckUtils]: 64: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 65: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 66: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 67: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 68: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 69: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 70: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 71: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 72: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,045 INFO L273 TraceCheckUtils]: 73: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 74: Hoare triple {9519#true} assume !(~i~0 < 20); {9519#true} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 75: Hoare triple {9519#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9519#true} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 76: Hoare triple {9519#true} assume true; {9519#true} is VALID [2018-11-23 12:15:11,046 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {9519#true} {9520#false} #72#return; {9520#false} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 78: Hoare triple {9520#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {9520#false} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 79: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 80: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:11,046 INFO L273 TraceCheckUtils]: 81: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 82: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 83: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 84: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 85: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 86: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 87: Hoare triple {9520#false} assume !(~i~2 < 19); {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L273 TraceCheckUtils]: 88: Hoare triple {9520#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {9520#false} is VALID [2018-11-23 12:15:11,047 INFO L256 TraceCheckUtils]: 89: Hoare triple {9520#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 90: Hoare triple {9519#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 91: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 92: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 93: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 94: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 95: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 96: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 97: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,048 INFO L273 TraceCheckUtils]: 98: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 99: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 100: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 101: Hoare triple {9519#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 102: Hoare triple {9519#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 103: Hoare triple {9519#true} assume !(~i~0 < 20); {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 104: Hoare triple {9519#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L273 TraceCheckUtils]: 105: Hoare triple {9519#true} assume true; {9519#true} is VALID [2018-11-23 12:15:11,049 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {9519#true} {9520#false} #74#return; {9520#false} is VALID [2018-11-23 12:15:11,050 INFO L273 TraceCheckUtils]: 107: Hoare triple {9520#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {9520#false} is VALID [2018-11-23 12:15:11,050 INFO L273 TraceCheckUtils]: 108: Hoare triple {9520#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9520#false} is VALID [2018-11-23 12:15:11,050 INFO L273 TraceCheckUtils]: 109: Hoare triple {9520#false} assume !false; {9520#false} is VALID [2018-11-23 12:15:11,055 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:15:11,055 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:11,056 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:11,065 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:15:12,358 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2018-11-23 12:15:12,358 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:12,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:12,387 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:12,642 INFO L256 TraceCheckUtils]: 0: Hoare triple {9519#true} call ULTIMATE.init(); {9519#true} is VALID [2018-11-23 12:15:12,642 INFO L273 TraceCheckUtils]: 1: Hoare triple {9519#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {9519#true} is VALID [2018-11-23 12:15:12,643 INFO L273 TraceCheckUtils]: 2: Hoare triple {9519#true} assume true; {9519#true} is VALID [2018-11-23 12:15:12,643 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {9519#true} {9519#true} #66#return; {9519#true} is VALID [2018-11-23 12:15:12,643 INFO L256 TraceCheckUtils]: 4: Hoare triple {9519#true} call #t~ret12 := main(); {9519#true} is VALID [2018-11-23 12:15:12,644 INFO L273 TraceCheckUtils]: 5: Hoare triple {9519#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {9519#true} is VALID [2018-11-23 12:15:12,644 INFO L273 TraceCheckUtils]: 6: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,644 INFO L273 TraceCheckUtils]: 7: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,645 INFO L273 TraceCheckUtils]: 8: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,645 INFO L273 TraceCheckUtils]: 9: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,645 INFO L273 TraceCheckUtils]: 10: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,645 INFO L273 TraceCheckUtils]: 11: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 12: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 13: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 14: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 15: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 16: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,646 INFO L273 TraceCheckUtils]: 17: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,647 INFO L273 TraceCheckUtils]: 18: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,647 INFO L273 TraceCheckUtils]: 19: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,647 INFO L273 TraceCheckUtils]: 20: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,647 INFO L273 TraceCheckUtils]: 21: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,647 INFO L273 TraceCheckUtils]: 22: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 23: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 24: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 25: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 26: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 27: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,648 INFO L273 TraceCheckUtils]: 28: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 29: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 30: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 31: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 32: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 33: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,649 INFO L273 TraceCheckUtils]: 34: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 35: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 36: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 37: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 38: Hoare triple {9519#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 39: Hoare triple {9519#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {9519#true} is VALID [2018-11-23 12:15:12,650 INFO L273 TraceCheckUtils]: 40: Hoare triple {9519#true} assume !(~i~1 < 20); {9519#true} is VALID [2018-11-23 12:15:12,651 INFO L256 TraceCheckUtils]: 41: Hoare triple {9519#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {9519#true} is VALID [2018-11-23 12:15:12,664 INFO L273 TraceCheckUtils]: 42: Hoare triple {9519#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9668#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:12,673 INFO L273 TraceCheckUtils]: 43: Hoare triple {9668#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9668#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:12,677 INFO L273 TraceCheckUtils]: 44: Hoare triple {9668#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9675#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:12,678 INFO L273 TraceCheckUtils]: 45: Hoare triple {9675#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9675#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:12,679 INFO L273 TraceCheckUtils]: 46: Hoare triple {9675#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9682#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:12,679 INFO L273 TraceCheckUtils]: 47: Hoare triple {9682#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9682#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:12,679 INFO L273 TraceCheckUtils]: 48: Hoare triple {9682#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9689#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:12,680 INFO L273 TraceCheckUtils]: 49: Hoare triple {9689#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9689#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:12,680 INFO L273 TraceCheckUtils]: 50: Hoare triple {9689#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9696#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:12,681 INFO L273 TraceCheckUtils]: 51: Hoare triple {9696#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9696#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:12,681 INFO L273 TraceCheckUtils]: 52: Hoare triple {9696#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9703#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:12,682 INFO L273 TraceCheckUtils]: 53: Hoare triple {9703#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9703#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:12,683 INFO L273 TraceCheckUtils]: 54: Hoare triple {9703#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9710#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:12,683 INFO L273 TraceCheckUtils]: 55: Hoare triple {9710#(<= avg_~i~0 6)} assume !(~i~0 < 20); {9520#false} is VALID [2018-11-23 12:15:12,684 INFO L273 TraceCheckUtils]: 56: Hoare triple {9520#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9520#false} is VALID [2018-11-23 12:15:12,684 INFO L273 TraceCheckUtils]: 57: Hoare triple {9520#false} assume true; {9520#false} is VALID [2018-11-23 12:15:12,684 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {9520#false} {9519#true} #70#return; {9520#false} is VALID [2018-11-23 12:15:12,684 INFO L273 TraceCheckUtils]: 59: Hoare triple {9520#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {9520#false} is VALID [2018-11-23 12:15:12,685 INFO L256 TraceCheckUtils]: 60: Hoare triple {9520#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {9520#false} is VALID [2018-11-23 12:15:12,685 INFO L273 TraceCheckUtils]: 61: Hoare triple {9520#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9520#false} is VALID [2018-11-23 12:15:12,685 INFO L273 TraceCheckUtils]: 62: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,685 INFO L273 TraceCheckUtils]: 63: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,685 INFO L273 TraceCheckUtils]: 64: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 65: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 66: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 67: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 68: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 69: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,686 INFO L273 TraceCheckUtils]: 70: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 71: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 72: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 73: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 74: Hoare triple {9520#false} assume !(~i~0 < 20); {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 75: Hoare triple {9520#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 76: Hoare triple {9520#false} assume true; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {9520#false} {9520#false} #72#return; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 78: Hoare triple {9520#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {9520#false} is VALID [2018-11-23 12:15:12,687 INFO L273 TraceCheckUtils]: 79: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 80: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 81: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 82: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 83: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 84: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 85: Hoare triple {9520#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 86: Hoare triple {9520#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {9520#false} is VALID [2018-11-23 12:15:12,688 INFO L273 TraceCheckUtils]: 87: Hoare triple {9520#false} assume !(~i~2 < 19); {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 88: Hoare triple {9520#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L256 TraceCheckUtils]: 89: Hoare triple {9520#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 90: Hoare triple {9520#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 91: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 92: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 93: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 94: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 95: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,689 INFO L273 TraceCheckUtils]: 96: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 97: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 98: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 99: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 100: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 101: Hoare triple {9520#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 102: Hoare triple {9520#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 103: Hoare triple {9520#false} assume !(~i~0 < 20); {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 104: Hoare triple {9520#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {9520#false} is VALID [2018-11-23 12:15:12,690 INFO L273 TraceCheckUtils]: 105: Hoare triple {9520#false} assume true; {9520#false} is VALID [2018-11-23 12:15:12,691 INFO L268 TraceCheckUtils]: 106: Hoare quadruple {9520#false} {9520#false} #74#return; {9520#false} is VALID [2018-11-23 12:15:12,691 INFO L273 TraceCheckUtils]: 107: Hoare triple {9520#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {9520#false} is VALID [2018-11-23 12:15:12,691 INFO L273 TraceCheckUtils]: 108: Hoare triple {9520#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {9520#false} is VALID [2018-11-23 12:15:12,691 INFO L273 TraceCheckUtils]: 109: Hoare triple {9520#false} assume !false; {9520#false} is VALID [2018-11-23 12:15:12,696 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 172 proven. 36 refuted. 0 times theorem prover too weak. 472 trivial. 0 not checked. [2018-11-23 12:15:12,717 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:12,717 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 9] total 27 [2018-11-23 12:15:12,718 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 110 [2018-11-23 12:15:12,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:12,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 12:15:12,816 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:12,816 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 12:15:12,816 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 12:15:12,817 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=225, Invalid=477, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:15:12,817 INFO L87 Difference]: Start difference. First operand 77 states and 81 transitions. Second operand 27 states. [2018-11-23 12:15:13,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:13,967 INFO L93 Difference]: Finished difference Result 119 states and 131 transitions. [2018-11-23 12:15:13,967 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2018-11-23 12:15:13,968 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 110 [2018-11-23 12:15:13,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:13,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:15:13,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2018-11-23 12:15:13,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:15:13,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2018-11-23 12:15:13,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 106 transitions. [2018-11-23 12:15:14,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:14,111 INFO L225 Difference]: With dead ends: 119 [2018-11-23 12:15:14,111 INFO L226 Difference]: Without dead ends: 83 [2018-11-23 12:15:14,112 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 104 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 119 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=225, Invalid=477, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:15:14,112 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2018-11-23 12:15:14,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 81. [2018-11-23 12:15:14,209 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:14,209 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 81 states. [2018-11-23 12:15:14,209 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 81 states. [2018-11-23 12:15:14,210 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 81 states. [2018-11-23 12:15:14,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:14,212 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2018-11-23 12:15:14,212 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2018-11-23 12:15:14,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:14,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:14,213 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 83 states. [2018-11-23 12:15:14,213 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 83 states. [2018-11-23 12:15:14,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:14,215 INFO L93 Difference]: Finished difference Result 83 states and 87 transitions. [2018-11-23 12:15:14,215 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 87 transitions. [2018-11-23 12:15:14,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:14,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:14,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:14,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:14,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 12:15:14,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 85 transitions. [2018-11-23 12:15:14,217 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 85 transitions. Word has length 110 [2018-11-23 12:15:14,218 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:14,218 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 85 transitions. [2018-11-23 12:15:14,218 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 12:15:14,218 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 85 transitions. [2018-11-23 12:15:14,219 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2018-11-23 12:15:14,219 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:14,219 INFO L402 BasicCegarLoop]: trace histogram [21, 21, 18, 18, 4, 4, 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:15:14,219 INFO L423 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:14,220 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:14,220 INFO L82 PathProgramCache]: Analyzing trace with hash -1680928935, now seen corresponding path program 18 times [2018-11-23 12:15:14,220 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:14,220 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:14,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:14,221 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:14,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:14,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:15,332 INFO L256 TraceCheckUtils]: 0: Hoare triple {10337#true} call ULTIMATE.init(); {10337#true} is VALID [2018-11-23 12:15:15,332 INFO L273 TraceCheckUtils]: 1: Hoare triple {10337#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10337#true} is VALID [2018-11-23 12:15:15,333 INFO L273 TraceCheckUtils]: 2: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:15,333 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10337#true} {10337#true} #66#return; {10337#true} is VALID [2018-11-23 12:15:15,333 INFO L256 TraceCheckUtils]: 4: Hoare triple {10337#true} call #t~ret12 := main(); {10337#true} is VALID [2018-11-23 12:15:15,334 INFO L273 TraceCheckUtils]: 5: Hoare triple {10337#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10339#(= main_~i~1 0)} is VALID [2018-11-23 12:15:15,334 INFO L273 TraceCheckUtils]: 6: Hoare triple {10339#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10339#(= main_~i~1 0)} is VALID [2018-11-23 12:15:15,334 INFO L273 TraceCheckUtils]: 7: Hoare triple {10339#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10340#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:15,335 INFO L273 TraceCheckUtils]: 8: Hoare triple {10340#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10340#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:15,335 INFO L273 TraceCheckUtils]: 9: Hoare triple {10340#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10341#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:15,335 INFO L273 TraceCheckUtils]: 10: Hoare triple {10341#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10341#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:15,336 INFO L273 TraceCheckUtils]: 11: Hoare triple {10341#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10342#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:15,336 INFO L273 TraceCheckUtils]: 12: Hoare triple {10342#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10342#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:15,337 INFO L273 TraceCheckUtils]: 13: Hoare triple {10342#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10343#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:15,337 INFO L273 TraceCheckUtils]: 14: Hoare triple {10343#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10343#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:15,338 INFO L273 TraceCheckUtils]: 15: Hoare triple {10343#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10344#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:15,339 INFO L273 TraceCheckUtils]: 16: Hoare triple {10344#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10344#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:15,339 INFO L273 TraceCheckUtils]: 17: Hoare triple {10344#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10345#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:15,340 INFO L273 TraceCheckUtils]: 18: Hoare triple {10345#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10345#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:15,341 INFO L273 TraceCheckUtils]: 19: Hoare triple {10345#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10346#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:15,341 INFO L273 TraceCheckUtils]: 20: Hoare triple {10346#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10346#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:15,342 INFO L273 TraceCheckUtils]: 21: Hoare triple {10346#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10347#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:15,343 INFO L273 TraceCheckUtils]: 22: Hoare triple {10347#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10347#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:15,343 INFO L273 TraceCheckUtils]: 23: Hoare triple {10347#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10348#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:15,344 INFO L273 TraceCheckUtils]: 24: Hoare triple {10348#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10348#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:15,347 INFO L273 TraceCheckUtils]: 25: Hoare triple {10348#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10349#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:15,348 INFO L273 TraceCheckUtils]: 26: Hoare triple {10349#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10349#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:15,348 INFO L273 TraceCheckUtils]: 27: Hoare triple {10349#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10350#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:15,351 INFO L273 TraceCheckUtils]: 28: Hoare triple {10350#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10350#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:15,351 INFO L273 TraceCheckUtils]: 29: Hoare triple {10350#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10351#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:15,352 INFO L273 TraceCheckUtils]: 30: Hoare triple {10351#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10351#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:15,352 INFO L273 TraceCheckUtils]: 31: Hoare triple {10351#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10352#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:15,352 INFO L273 TraceCheckUtils]: 32: Hoare triple {10352#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10352#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:15,353 INFO L273 TraceCheckUtils]: 33: Hoare triple {10352#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10353#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:15,353 INFO L273 TraceCheckUtils]: 34: Hoare triple {10353#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10353#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:15,354 INFO L273 TraceCheckUtils]: 35: Hoare triple {10353#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10354#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:15,354 INFO L273 TraceCheckUtils]: 36: Hoare triple {10354#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10354#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:15,355 INFO L273 TraceCheckUtils]: 37: Hoare triple {10354#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10355#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:15,355 INFO L273 TraceCheckUtils]: 38: Hoare triple {10355#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10355#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:15,360 INFO L273 TraceCheckUtils]: 39: Hoare triple {10355#(<= main_~i~1 16)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10356#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:15,360 INFO L273 TraceCheckUtils]: 40: Hoare triple {10356#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10356#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:15,361 INFO L273 TraceCheckUtils]: 41: Hoare triple {10356#(<= main_~i~1 17)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10357#(<= main_~i~1 18)} is VALID [2018-11-23 12:15:15,361 INFO L273 TraceCheckUtils]: 42: Hoare triple {10357#(<= main_~i~1 18)} assume !(~i~1 < 20); {10338#false} is VALID [2018-11-23 12:15:15,361 INFO L256 TraceCheckUtils]: 43: Hoare triple {10338#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {10337#true} is VALID [2018-11-23 12:15:15,361 INFO L273 TraceCheckUtils]: 44: Hoare triple {10337#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 45: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 46: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 47: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 48: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 49: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 50: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 51: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,362 INFO L273 TraceCheckUtils]: 52: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 53: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 54: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 55: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 56: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 57: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 58: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 59: Hoare triple {10337#true} assume !(~i~0 < 20); {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 60: Hoare triple {10337#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10337#true} is VALID [2018-11-23 12:15:15,363 INFO L273 TraceCheckUtils]: 61: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10337#true} {10338#false} #70#return; {10338#false} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 63: Hoare triple {10338#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {10338#false} is VALID [2018-11-23 12:15:15,364 INFO L256 TraceCheckUtils]: 64: Hoare triple {10338#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 65: Hoare triple {10337#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 66: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 67: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 68: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 69: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,364 INFO L273 TraceCheckUtils]: 70: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 71: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 72: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 73: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 74: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 75: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 76: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 77: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,365 INFO L273 TraceCheckUtils]: 78: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 79: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 80: Hoare triple {10337#true} assume !(~i~0 < 20); {10337#true} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 81: Hoare triple {10337#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10337#true} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 82: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:15,366 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10337#true} {10338#false} #72#return; {10338#false} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 84: Hoare triple {10338#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {10338#false} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 85: Hoare triple {10338#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10338#false} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 86: Hoare triple {10338#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10338#false} is VALID [2018-11-23 12:15:15,366 INFO L273 TraceCheckUtils]: 87: Hoare triple {10338#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 88: Hoare triple {10338#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 89: Hoare triple {10338#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 90: Hoare triple {10338#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 91: Hoare triple {10338#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 92: Hoare triple {10338#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 93: Hoare triple {10338#false} assume !(~i~2 < 19); {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 94: Hoare triple {10338#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {10338#false} is VALID [2018-11-23 12:15:15,367 INFO L256 TraceCheckUtils]: 95: Hoare triple {10338#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {10337#true} is VALID [2018-11-23 12:15:15,367 INFO L273 TraceCheckUtils]: 96: Hoare triple {10337#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 97: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 98: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 99: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 100: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 101: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 102: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 103: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 104: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,368 INFO L273 TraceCheckUtils]: 105: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 106: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 107: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 108: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 109: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 110: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 111: Hoare triple {10337#true} assume !(~i~0 < 20); {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 112: Hoare triple {10337#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10337#true} is VALID [2018-11-23 12:15:15,369 INFO L273 TraceCheckUtils]: 113: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:15,370 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {10337#true} {10338#false} #74#return; {10338#false} is VALID [2018-11-23 12:15:15,370 INFO L273 TraceCheckUtils]: 115: Hoare triple {10338#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {10338#false} is VALID [2018-11-23 12:15:15,370 INFO L273 TraceCheckUtils]: 116: Hoare triple {10338#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10338#false} is VALID [2018-11-23 12:15:15,370 INFO L273 TraceCheckUtils]: 117: Hoare triple {10338#false} assume !false; {10338#false} is VALID [2018-11-23 12:15:15,375 INFO L134 CoverageAnalysis]: Checked inductivity of 838 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 514 trivial. 0 not checked. [2018-11-23 12:15:15,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:15,376 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:15,387 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:15:15,793 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2018-11-23 12:15:15,794 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:15,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:15,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:16,112 INFO L256 TraceCheckUtils]: 0: Hoare triple {10337#true} call ULTIMATE.init(); {10337#true} is VALID [2018-11-23 12:15:16,113 INFO L273 TraceCheckUtils]: 1: Hoare triple {10337#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {10337#true} is VALID [2018-11-23 12:15:16,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:16,113 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10337#true} {10337#true} #66#return; {10337#true} is VALID [2018-11-23 12:15:16,113 INFO L256 TraceCheckUtils]: 4: Hoare triple {10337#true} call #t~ret12 := main(); {10337#true} is VALID [2018-11-23 12:15:16,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {10337#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {10337#true} is VALID [2018-11-23 12:15:16,114 INFO L273 TraceCheckUtils]: 6: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,114 INFO L273 TraceCheckUtils]: 7: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,114 INFO L273 TraceCheckUtils]: 8: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,114 INFO L273 TraceCheckUtils]: 9: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,114 INFO L273 TraceCheckUtils]: 10: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,115 INFO L273 TraceCheckUtils]: 11: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,115 INFO L273 TraceCheckUtils]: 12: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,115 INFO L273 TraceCheckUtils]: 13: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,115 INFO L273 TraceCheckUtils]: 14: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,115 INFO L273 TraceCheckUtils]: 15: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,116 INFO L273 TraceCheckUtils]: 16: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,116 INFO L273 TraceCheckUtils]: 17: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,116 INFO L273 TraceCheckUtils]: 18: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,116 INFO L273 TraceCheckUtils]: 19: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,116 INFO L273 TraceCheckUtils]: 20: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 21: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 22: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 23: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 24: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 25: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 26: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,117 INFO L273 TraceCheckUtils]: 27: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 28: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 29: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 30: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 31: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 32: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 33: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 34: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 35: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,118 INFO L273 TraceCheckUtils]: 36: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 37: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 38: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 39: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 40: Hoare triple {10337#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 41: Hoare triple {10337#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 42: Hoare triple {10337#true} assume !(~i~1 < 20); {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L256 TraceCheckUtils]: 43: Hoare triple {10337#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {10337#true} is VALID [2018-11-23 12:15:16,119 INFO L273 TraceCheckUtils]: 44: Hoare triple {10337#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 45: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 46: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 47: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 48: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 49: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 50: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 51: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 52: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,120 INFO L273 TraceCheckUtils]: 53: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 54: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 55: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 56: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 57: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 58: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 59: Hoare triple {10337#true} assume !(~i~0 < 20); {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 60: Hoare triple {10337#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L273 TraceCheckUtils]: 61: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:16,121 INFO L268 TraceCheckUtils]: 62: Hoare quadruple {10337#true} {10337#true} #70#return; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 63: Hoare triple {10337#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L256 TraceCheckUtils]: 64: Hoare triple {10337#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 65: Hoare triple {10337#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 66: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 67: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 68: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 69: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 70: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,122 INFO L273 TraceCheckUtils]: 71: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 72: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 73: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 74: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 75: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 76: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 77: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 78: Hoare triple {10337#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 79: Hoare triple {10337#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10337#true} is VALID [2018-11-23 12:15:16,123 INFO L273 TraceCheckUtils]: 80: Hoare triple {10337#true} assume !(~i~0 < 20); {10337#true} is VALID [2018-11-23 12:15:16,124 INFO L273 TraceCheckUtils]: 81: Hoare triple {10337#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10337#true} is VALID [2018-11-23 12:15:16,124 INFO L273 TraceCheckUtils]: 82: Hoare triple {10337#true} assume true; {10337#true} is VALID [2018-11-23 12:15:16,124 INFO L268 TraceCheckUtils]: 83: Hoare quadruple {10337#true} {10337#true} #72#return; {10337#true} is VALID [2018-11-23 12:15:16,124 INFO L273 TraceCheckUtils]: 84: Hoare triple {10337#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {10613#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:16,125 INFO L273 TraceCheckUtils]: 85: Hoare triple {10613#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10613#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:16,125 INFO L273 TraceCheckUtils]: 86: Hoare triple {10613#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10620#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:16,126 INFO L273 TraceCheckUtils]: 87: Hoare triple {10620#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10620#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:16,126 INFO L273 TraceCheckUtils]: 88: Hoare triple {10620#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10627#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:16,127 INFO L273 TraceCheckUtils]: 89: Hoare triple {10627#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10627#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:16,127 INFO L273 TraceCheckUtils]: 90: Hoare triple {10627#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10634#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:16,128 INFO L273 TraceCheckUtils]: 91: Hoare triple {10634#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {10634#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:16,128 INFO L273 TraceCheckUtils]: 92: Hoare triple {10634#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {10641#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:16,129 INFO L273 TraceCheckUtils]: 93: Hoare triple {10641#(<= main_~i~2 4)} assume !(~i~2 < 19); {10338#false} is VALID [2018-11-23 12:15:16,129 INFO L273 TraceCheckUtils]: 94: Hoare triple {10338#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {10338#false} is VALID [2018-11-23 12:15:16,129 INFO L256 TraceCheckUtils]: 95: Hoare triple {10338#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {10338#false} is VALID [2018-11-23 12:15:16,130 INFO L273 TraceCheckUtils]: 96: Hoare triple {10338#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {10338#false} is VALID [2018-11-23 12:15:16,130 INFO L273 TraceCheckUtils]: 97: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,130 INFO L273 TraceCheckUtils]: 98: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,130 INFO L273 TraceCheckUtils]: 99: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,130 INFO L273 TraceCheckUtils]: 100: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,131 INFO L273 TraceCheckUtils]: 101: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,131 INFO L273 TraceCheckUtils]: 102: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,131 INFO L273 TraceCheckUtils]: 103: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,131 INFO L273 TraceCheckUtils]: 104: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,131 INFO L273 TraceCheckUtils]: 105: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,132 INFO L273 TraceCheckUtils]: 106: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,132 INFO L273 TraceCheckUtils]: 107: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,132 INFO L273 TraceCheckUtils]: 108: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,132 INFO L273 TraceCheckUtils]: 109: Hoare triple {10338#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {10338#false} is VALID [2018-11-23 12:15:16,132 INFO L273 TraceCheckUtils]: 110: Hoare triple {10338#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {10338#false} is VALID [2018-11-23 12:15:16,133 INFO L273 TraceCheckUtils]: 111: Hoare triple {10338#false} assume !(~i~0 < 20); {10338#false} is VALID [2018-11-23 12:15:16,133 INFO L273 TraceCheckUtils]: 112: Hoare triple {10338#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {10338#false} is VALID [2018-11-23 12:15:16,133 INFO L273 TraceCheckUtils]: 113: Hoare triple {10338#false} assume true; {10338#false} is VALID [2018-11-23 12:15:16,133 INFO L268 TraceCheckUtils]: 114: Hoare quadruple {10338#false} {10338#false} #74#return; {10338#false} is VALID [2018-11-23 12:15:16,133 INFO L273 TraceCheckUtils]: 115: Hoare triple {10338#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {10338#false} is VALID [2018-11-23 12:15:16,134 INFO L273 TraceCheckUtils]: 116: Hoare triple {10338#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {10338#false} is VALID [2018-11-23 12:15:16,134 INFO L273 TraceCheckUtils]: 117: Hoare triple {10338#false} assume !false; {10338#false} is VALID [2018-11-23 12:15:16,139 INFO L134 CoverageAnalysis]: Checked inductivity of 838 backedges. 234 proven. 16 refuted. 0 times theorem prover too weak. 588 trivial. 0 not checked. [2018-11-23 12:15:16,159 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:16,160 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 7] total 26 [2018-11-23 12:15:16,160 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 118 [2018-11-23 12:15:16,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:16,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2018-11-23 12:15:16,257 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:16,257 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2018-11-23 12:15:16,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2018-11-23 12:15:16,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=420, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:15:16,258 INFO L87 Difference]: Start difference. First operand 81 states and 85 transitions. Second operand 26 states. [2018-11-23 12:15:17,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:17,131 INFO L93 Difference]: Finished difference Result 125 states and 134 transitions. [2018-11-23 12:15:17,132 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2018-11-23 12:15:17,132 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 118 [2018-11-23 12:15:17,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:17,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:15:17,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 101 transitions. [2018-11-23 12:15:17,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:15:17,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 101 transitions. [2018-11-23 12:15:17,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 101 transitions. [2018-11-23 12:15:17,486 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:17,488 INFO L225 Difference]: With dead ends: 125 [2018-11-23 12:15:17,488 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 12:15:17,489 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 114 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=230, Invalid=420, Unknown=0, NotChecked=0, Total=650 [2018-11-23 12:15:17,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 12:15:17,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 85. [2018-11-23 12:15:17,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:17,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 85 states. [2018-11-23 12:15:17,524 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 85 states. [2018-11-23 12:15:17,524 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 85 states. [2018-11-23 12:15:17,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:17,527 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 12:15:17,527 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 12:15:17,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:17,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:17,527 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 87 states. [2018-11-23 12:15:17,528 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 87 states. [2018-11-23 12:15:17,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:17,529 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 12:15:17,529 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 12:15:17,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:17,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:17,529 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:17,530 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:17,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 12:15:17,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 89 transitions. [2018-11-23 12:15:17,531 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 89 transitions. Word has length 118 [2018-11-23 12:15:17,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:17,531 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 89 transitions. [2018-11-23 12:15:17,531 INFO L481 AbstractCegarLoop]: Interpolant automaton has 26 states. [2018-11-23 12:15:17,531 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 89 transitions. [2018-11-23 12:15:17,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2018-11-23 12:15:17,532 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:17,532 INFO L402 BasicCegarLoop]: trace histogram [21, 21, 19, 19, 5, 5, 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:15:17,532 INFO L423 AbstractCegarLoop]: === Iteration 23 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:17,533 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:17,533 INFO L82 PathProgramCache]: Analyzing trace with hash -1116806727, now seen corresponding path program 19 times [2018-11-23 12:15:17,533 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:17,533 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:17,534 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:17,534 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:17,534 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:17,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:18,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2018-11-23 12:15:18,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {11201#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11201#true} is VALID [2018-11-23 12:15:18,508 INFO L273 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2018-11-23 12:15:18,509 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11201#true} #66#return; {11201#true} is VALID [2018-11-23 12:15:18,509 INFO L256 TraceCheckUtils]: 4: Hoare triple {11201#true} call #t~ret12 := main(); {11201#true} is VALID [2018-11-23 12:15:18,510 INFO L273 TraceCheckUtils]: 5: Hoare triple {11201#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11203#(= main_~i~1 0)} is VALID [2018-11-23 12:15:18,510 INFO L273 TraceCheckUtils]: 6: Hoare triple {11203#(= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11203#(= main_~i~1 0)} is VALID [2018-11-23 12:15:18,511 INFO L273 TraceCheckUtils]: 7: Hoare triple {11203#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11204#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:18,511 INFO L273 TraceCheckUtils]: 8: Hoare triple {11204#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11204#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:18,512 INFO L273 TraceCheckUtils]: 9: Hoare triple {11204#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11205#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:18,512 INFO L273 TraceCheckUtils]: 10: Hoare triple {11205#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11205#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:18,512 INFO L273 TraceCheckUtils]: 11: Hoare triple {11205#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11206#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:18,513 INFO L273 TraceCheckUtils]: 12: Hoare triple {11206#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11206#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:18,514 INFO L273 TraceCheckUtils]: 13: Hoare triple {11206#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11207#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:18,514 INFO L273 TraceCheckUtils]: 14: Hoare triple {11207#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11207#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:18,515 INFO L273 TraceCheckUtils]: 15: Hoare triple {11207#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11208#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:18,515 INFO L273 TraceCheckUtils]: 16: Hoare triple {11208#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11208#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:18,516 INFO L273 TraceCheckUtils]: 17: Hoare triple {11208#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11209#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:18,517 INFO L273 TraceCheckUtils]: 18: Hoare triple {11209#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11209#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:18,517 INFO L273 TraceCheckUtils]: 19: Hoare triple {11209#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11210#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:18,518 INFO L273 TraceCheckUtils]: 20: Hoare triple {11210#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11210#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:18,519 INFO L273 TraceCheckUtils]: 21: Hoare triple {11210#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11211#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:18,519 INFO L273 TraceCheckUtils]: 22: Hoare triple {11211#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11211#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:18,520 INFO L273 TraceCheckUtils]: 23: Hoare triple {11211#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11212#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:18,521 INFO L273 TraceCheckUtils]: 24: Hoare triple {11212#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11212#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:18,521 INFO L273 TraceCheckUtils]: 25: Hoare triple {11212#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11213#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:18,522 INFO L273 TraceCheckUtils]: 26: Hoare triple {11213#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11213#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:18,523 INFO L273 TraceCheckUtils]: 27: Hoare triple {11213#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11214#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:18,523 INFO L273 TraceCheckUtils]: 28: Hoare triple {11214#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11214#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:18,524 INFO L273 TraceCheckUtils]: 29: Hoare triple {11214#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11215#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:18,524 INFO L273 TraceCheckUtils]: 30: Hoare triple {11215#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11215#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:18,525 INFO L273 TraceCheckUtils]: 31: Hoare triple {11215#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11216#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:18,526 INFO L273 TraceCheckUtils]: 32: Hoare triple {11216#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11216#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:18,527 INFO L273 TraceCheckUtils]: 33: Hoare triple {11216#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11217#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:18,527 INFO L273 TraceCheckUtils]: 34: Hoare triple {11217#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11217#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:18,528 INFO L273 TraceCheckUtils]: 35: Hoare triple {11217#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11218#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:18,528 INFO L273 TraceCheckUtils]: 36: Hoare triple {11218#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11218#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:18,529 INFO L273 TraceCheckUtils]: 37: Hoare triple {11218#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11219#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:18,530 INFO L273 TraceCheckUtils]: 38: Hoare triple {11219#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11219#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:18,531 INFO L273 TraceCheckUtils]: 39: Hoare triple {11219#(<= main_~i~1 16)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11220#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:18,531 INFO L273 TraceCheckUtils]: 40: Hoare triple {11220#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11220#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:18,532 INFO L273 TraceCheckUtils]: 41: Hoare triple {11220#(<= main_~i~1 17)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11221#(<= main_~i~1 18)} is VALID [2018-11-23 12:15:18,532 INFO L273 TraceCheckUtils]: 42: Hoare triple {11221#(<= main_~i~1 18)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11221#(<= main_~i~1 18)} is VALID [2018-11-23 12:15:18,533 INFO L273 TraceCheckUtils]: 43: Hoare triple {11221#(<= main_~i~1 18)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11222#(<= main_~i~1 19)} is VALID [2018-11-23 12:15:18,534 INFO L273 TraceCheckUtils]: 44: Hoare triple {11222#(<= main_~i~1 19)} assume !(~i~1 < 20); {11202#false} is VALID [2018-11-23 12:15:18,534 INFO L256 TraceCheckUtils]: 45: Hoare triple {11202#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {11201#true} is VALID [2018-11-23 12:15:18,534 INFO L273 TraceCheckUtils]: 46: Hoare triple {11201#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11201#true} is VALID [2018-11-23 12:15:18,534 INFO L273 TraceCheckUtils]: 47: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,535 INFO L273 TraceCheckUtils]: 48: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,535 INFO L273 TraceCheckUtils]: 49: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,535 INFO L273 TraceCheckUtils]: 50: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,535 INFO L273 TraceCheckUtils]: 51: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,535 INFO L273 TraceCheckUtils]: 52: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,536 INFO L273 TraceCheckUtils]: 53: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,536 INFO L273 TraceCheckUtils]: 54: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,536 INFO L273 TraceCheckUtils]: 55: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,536 INFO L273 TraceCheckUtils]: 56: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,536 INFO L273 TraceCheckUtils]: 57: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 58: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 59: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 60: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 61: Hoare triple {11201#true} assume !(~i~0 < 20); {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 62: Hoare triple {11201#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 63: Hoare triple {11201#true} assume true; {11201#true} is VALID [2018-11-23 12:15:18,537 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {11201#true} {11202#false} #70#return; {11202#false} is VALID [2018-11-23 12:15:18,537 INFO L273 TraceCheckUtils]: 65: Hoare triple {11202#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11202#false} is VALID [2018-11-23 12:15:18,537 INFO L256 TraceCheckUtils]: 66: Hoare triple {11202#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 67: Hoare triple {11201#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 68: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 69: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 70: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 71: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 72: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 73: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,538 INFO L273 TraceCheckUtils]: 74: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 75: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 76: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 77: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 78: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 79: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 80: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 81: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 82: Hoare triple {11201#true} assume !(~i~0 < 20); {11201#true} is VALID [2018-11-23 12:15:18,539 INFO L273 TraceCheckUtils]: 83: Hoare triple {11201#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11201#true} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 84: Hoare triple {11201#true} assume true; {11201#true} is VALID [2018-11-23 12:15:18,540 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {11201#true} {11202#false} #72#return; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 86: Hoare triple {11202#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 87: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 88: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 89: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 90: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 91: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,540 INFO L273 TraceCheckUtils]: 92: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 93: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 94: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 95: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 96: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 97: Hoare triple {11202#false} assume !(~i~2 < 19); {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 98: Hoare triple {11202#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11202#false} is VALID [2018-11-23 12:15:18,541 INFO L256 TraceCheckUtils]: 99: Hoare triple {11202#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {11201#true} is VALID [2018-11-23 12:15:18,541 INFO L273 TraceCheckUtils]: 100: Hoare triple {11201#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 101: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 102: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 103: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 104: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 105: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 106: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 107: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 108: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,542 INFO L273 TraceCheckUtils]: 109: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 110: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 111: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 112: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 113: Hoare triple {11201#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 114: Hoare triple {11201#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 115: Hoare triple {11201#true} assume !(~i~0 < 20); {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 116: Hoare triple {11201#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11201#true} is VALID [2018-11-23 12:15:18,543 INFO L273 TraceCheckUtils]: 117: Hoare triple {11201#true} assume true; {11201#true} is VALID [2018-11-23 12:15:18,544 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {11201#true} {11202#false} #74#return; {11202#false} is VALID [2018-11-23 12:15:18,544 INFO L273 TraceCheckUtils]: 119: Hoare triple {11202#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {11202#false} is VALID [2018-11-23 12:15:18,544 INFO L273 TraceCheckUtils]: 120: Hoare triple {11202#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11202#false} is VALID [2018-11-23 12:15:18,544 INFO L273 TraceCheckUtils]: 121: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2018-11-23 12:15:18,550 INFO L134 CoverageAnalysis]: Checked inductivity of 884 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 523 trivial. 0 not checked. [2018-11-23 12:15:18,551 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:18,551 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:18,561 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:18,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:18,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:18,665 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:18,950 INFO L256 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2018-11-23 12:15:18,951 INFO L273 TraceCheckUtils]: 1: Hoare triple {11201#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {11201#true} is VALID [2018-11-23 12:15:18,951 INFO L273 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2018-11-23 12:15:18,951 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11201#true} #66#return; {11201#true} is VALID [2018-11-23 12:15:18,951 INFO L256 TraceCheckUtils]: 4: Hoare triple {11201#true} call #t~ret12 := main(); {11201#true} is VALID [2018-11-23 12:15:18,952 INFO L273 TraceCheckUtils]: 5: Hoare triple {11201#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {11241#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:18,953 INFO L273 TraceCheckUtils]: 6: Hoare triple {11241#(<= main_~i~1 0)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11241#(<= main_~i~1 0)} is VALID [2018-11-23 12:15:18,953 INFO L273 TraceCheckUtils]: 7: Hoare triple {11241#(<= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11204#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:18,953 INFO L273 TraceCheckUtils]: 8: Hoare triple {11204#(<= main_~i~1 1)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11204#(<= main_~i~1 1)} is VALID [2018-11-23 12:15:18,954 INFO L273 TraceCheckUtils]: 9: Hoare triple {11204#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11205#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:18,954 INFO L273 TraceCheckUtils]: 10: Hoare triple {11205#(<= main_~i~1 2)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11205#(<= main_~i~1 2)} is VALID [2018-11-23 12:15:18,955 INFO L273 TraceCheckUtils]: 11: Hoare triple {11205#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11206#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:18,955 INFO L273 TraceCheckUtils]: 12: Hoare triple {11206#(<= main_~i~1 3)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11206#(<= main_~i~1 3)} is VALID [2018-11-23 12:15:18,956 INFO L273 TraceCheckUtils]: 13: Hoare triple {11206#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11207#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:18,957 INFO L273 TraceCheckUtils]: 14: Hoare triple {11207#(<= main_~i~1 4)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11207#(<= main_~i~1 4)} is VALID [2018-11-23 12:15:18,958 INFO L273 TraceCheckUtils]: 15: Hoare triple {11207#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11208#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:18,958 INFO L273 TraceCheckUtils]: 16: Hoare triple {11208#(<= main_~i~1 5)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11208#(<= main_~i~1 5)} is VALID [2018-11-23 12:15:18,959 INFO L273 TraceCheckUtils]: 17: Hoare triple {11208#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11209#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:18,959 INFO L273 TraceCheckUtils]: 18: Hoare triple {11209#(<= main_~i~1 6)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11209#(<= main_~i~1 6)} is VALID [2018-11-23 12:15:18,960 INFO L273 TraceCheckUtils]: 19: Hoare triple {11209#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11210#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:18,961 INFO L273 TraceCheckUtils]: 20: Hoare triple {11210#(<= main_~i~1 7)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11210#(<= main_~i~1 7)} is VALID [2018-11-23 12:15:18,962 INFO L273 TraceCheckUtils]: 21: Hoare triple {11210#(<= main_~i~1 7)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11211#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:18,962 INFO L273 TraceCheckUtils]: 22: Hoare triple {11211#(<= main_~i~1 8)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11211#(<= main_~i~1 8)} is VALID [2018-11-23 12:15:18,963 INFO L273 TraceCheckUtils]: 23: Hoare triple {11211#(<= main_~i~1 8)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11212#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:18,963 INFO L273 TraceCheckUtils]: 24: Hoare triple {11212#(<= main_~i~1 9)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11212#(<= main_~i~1 9)} is VALID [2018-11-23 12:15:18,964 INFO L273 TraceCheckUtils]: 25: Hoare triple {11212#(<= main_~i~1 9)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11213#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:18,965 INFO L273 TraceCheckUtils]: 26: Hoare triple {11213#(<= main_~i~1 10)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11213#(<= main_~i~1 10)} is VALID [2018-11-23 12:15:18,965 INFO L273 TraceCheckUtils]: 27: Hoare triple {11213#(<= main_~i~1 10)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11214#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:18,966 INFO L273 TraceCheckUtils]: 28: Hoare triple {11214#(<= main_~i~1 11)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11214#(<= main_~i~1 11)} is VALID [2018-11-23 12:15:18,967 INFO L273 TraceCheckUtils]: 29: Hoare triple {11214#(<= main_~i~1 11)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11215#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:18,967 INFO L273 TraceCheckUtils]: 30: Hoare triple {11215#(<= main_~i~1 12)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11215#(<= main_~i~1 12)} is VALID [2018-11-23 12:15:18,968 INFO L273 TraceCheckUtils]: 31: Hoare triple {11215#(<= main_~i~1 12)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11216#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:18,969 INFO L273 TraceCheckUtils]: 32: Hoare triple {11216#(<= main_~i~1 13)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11216#(<= main_~i~1 13)} is VALID [2018-11-23 12:15:18,969 INFO L273 TraceCheckUtils]: 33: Hoare triple {11216#(<= main_~i~1 13)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11217#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:18,970 INFO L273 TraceCheckUtils]: 34: Hoare triple {11217#(<= main_~i~1 14)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11217#(<= main_~i~1 14)} is VALID [2018-11-23 12:15:18,971 INFO L273 TraceCheckUtils]: 35: Hoare triple {11217#(<= main_~i~1 14)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11218#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:18,971 INFO L273 TraceCheckUtils]: 36: Hoare triple {11218#(<= main_~i~1 15)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11218#(<= main_~i~1 15)} is VALID [2018-11-23 12:15:18,972 INFO L273 TraceCheckUtils]: 37: Hoare triple {11218#(<= main_~i~1 15)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11219#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:18,973 INFO L273 TraceCheckUtils]: 38: Hoare triple {11219#(<= main_~i~1 16)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11219#(<= main_~i~1 16)} is VALID [2018-11-23 12:15:18,973 INFO L273 TraceCheckUtils]: 39: Hoare triple {11219#(<= main_~i~1 16)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11220#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:18,974 INFO L273 TraceCheckUtils]: 40: Hoare triple {11220#(<= main_~i~1 17)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11220#(<= main_~i~1 17)} is VALID [2018-11-23 12:15:18,975 INFO L273 TraceCheckUtils]: 41: Hoare triple {11220#(<= main_~i~1 17)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11221#(<= main_~i~1 18)} is VALID [2018-11-23 12:15:18,975 INFO L273 TraceCheckUtils]: 42: Hoare triple {11221#(<= main_~i~1 18)} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {11221#(<= main_~i~1 18)} is VALID [2018-11-23 12:15:18,976 INFO L273 TraceCheckUtils]: 43: Hoare triple {11221#(<= main_~i~1 18)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {11222#(<= main_~i~1 19)} is VALID [2018-11-23 12:15:18,977 INFO L273 TraceCheckUtils]: 44: Hoare triple {11222#(<= main_~i~1 19)} assume !(~i~1 < 20); {11202#false} is VALID [2018-11-23 12:15:18,977 INFO L256 TraceCheckUtils]: 45: Hoare triple {11202#false} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {11202#false} is VALID [2018-11-23 12:15:18,977 INFO L273 TraceCheckUtils]: 46: Hoare triple {11202#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11202#false} is VALID [2018-11-23 12:15:18,977 INFO L273 TraceCheckUtils]: 47: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,978 INFO L273 TraceCheckUtils]: 48: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,978 INFO L273 TraceCheckUtils]: 49: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,978 INFO L273 TraceCheckUtils]: 50: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,978 INFO L273 TraceCheckUtils]: 51: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,978 INFO L273 TraceCheckUtils]: 52: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,979 INFO L273 TraceCheckUtils]: 53: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,979 INFO L273 TraceCheckUtils]: 54: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,979 INFO L273 TraceCheckUtils]: 55: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,979 INFO L273 TraceCheckUtils]: 56: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,979 INFO L273 TraceCheckUtils]: 57: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 58: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 59: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 60: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 61: Hoare triple {11202#false} assume !(~i~0 < 20); {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 62: Hoare triple {11202#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11202#false} is VALID [2018-11-23 12:15:18,980 INFO L273 TraceCheckUtils]: 63: Hoare triple {11202#false} assume true; {11202#false} is VALID [2018-11-23 12:15:18,981 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {11202#false} {11202#false} #70#return; {11202#false} is VALID [2018-11-23 12:15:18,981 INFO L273 TraceCheckUtils]: 65: Hoare triple {11202#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {11202#false} is VALID [2018-11-23 12:15:18,981 INFO L256 TraceCheckUtils]: 66: Hoare triple {11202#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {11202#false} is VALID [2018-11-23 12:15:18,981 INFO L273 TraceCheckUtils]: 67: Hoare triple {11202#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11202#false} is VALID [2018-11-23 12:15:18,981 INFO L273 TraceCheckUtils]: 68: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 69: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 70: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 71: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 72: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 73: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 74: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 75: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 76: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,982 INFO L273 TraceCheckUtils]: 77: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 78: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 79: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 80: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 81: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 82: Hoare triple {11202#false} assume !(~i~0 < 20); {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 83: Hoare triple {11202#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 84: Hoare triple {11202#false} assume true; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {11202#false} {11202#false} #72#return; {11202#false} is VALID [2018-11-23 12:15:18,983 INFO L273 TraceCheckUtils]: 86: Hoare triple {11202#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 87: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 88: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 89: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 90: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 91: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 92: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 93: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 94: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,984 INFO L273 TraceCheckUtils]: 95: Hoare triple {11202#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 96: Hoare triple {11202#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 97: Hoare triple {11202#false} assume !(~i~2 < 19); {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 98: Hoare triple {11202#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L256 TraceCheckUtils]: 99: Hoare triple {11202#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 100: Hoare triple {11202#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 101: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 102: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 103: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,985 INFO L273 TraceCheckUtils]: 104: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 105: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 106: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 107: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 108: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 109: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 110: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 111: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,986 INFO L273 TraceCheckUtils]: 112: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 113: Hoare triple {11202#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 114: Hoare triple {11202#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 115: Hoare triple {11202#false} assume !(~i~0 < 20); {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 116: Hoare triple {11202#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 117: Hoare triple {11202#false} assume true; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {11202#false} {11202#false} #74#return; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 119: Hoare triple {11202#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 120: Hoare triple {11202#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {11202#false} is VALID [2018-11-23 12:15:18,987 INFO L273 TraceCheckUtils]: 121: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2018-11-23 12:15:18,994 INFO L134 CoverageAnalysis]: Checked inductivity of 884 backedges. 0 proven. 361 refuted. 0 times theorem prover too weak. 523 trivial. 0 not checked. [2018-11-23 12:15:19,014 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:19,014 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-23 12:15:19,014 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 122 [2018-11-23 12:15:19,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:19,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:15:19,101 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:19,101 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:15:19,101 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:15:19,102 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:15:19,102 INFO L87 Difference]: Start difference. First operand 85 states and 89 transitions. Second operand 23 states. [2018-11-23 12:15:19,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:19,820 INFO L93 Difference]: Finished difference Result 127 states and 135 transitions. [2018-11-23 12:15:19,820 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:15:19,820 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 122 [2018-11-23 12:15:19,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:19,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:15:19,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 91 transitions. [2018-11-23 12:15:19,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:15:19,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 91 transitions. [2018-11-23 12:15:19,826 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 91 transitions. [2018-11-23 12:15:20,021 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:20,025 INFO L225 Difference]: With dead ends: 127 [2018-11-23 12:15:20,025 INFO L226 Difference]: Without dead ends: 87 [2018-11-23 12:15:20,026 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:15:20,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2018-11-23 12:15:20,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2018-11-23 12:15:20,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:20,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 87 states. [2018-11-23 12:15:20,065 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 87 states. [2018-11-23 12:15:20,066 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 87 states. [2018-11-23 12:15:20,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:20,069 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 12:15:20,069 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 12:15:20,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:20,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:20,070 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 87 states. [2018-11-23 12:15:20,070 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 87 states. [2018-11-23 12:15:20,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:20,072 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2018-11-23 12:15:20,073 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 12:15:20,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:20,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:20,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:20,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:20,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2018-11-23 12:15:20,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 91 transitions. [2018-11-23 12:15:20,076 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 91 transitions. Word has length 122 [2018-11-23 12:15:20,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:20,076 INFO L480 AbstractCegarLoop]: Abstraction has 87 states and 91 transitions. [2018-11-23 12:15:20,077 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:15:20,077 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 91 transitions. [2018-11-23 12:15:20,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2018-11-23 12:15:20,078 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:20,078 INFO L402 BasicCegarLoop]: trace histogram [21, 21, 20, 20, 5, 5, 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:15:20,078 INFO L423 AbstractCegarLoop]: === Iteration 24 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:20,078 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:20,079 INFO L82 PathProgramCache]: Analyzing trace with hash -1211213925, now seen corresponding path program 20 times [2018-11-23 12:15:20,079 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:20,079 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:20,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:20,080 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:20,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:20,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:21,078 INFO L256 TraceCheckUtils]: 0: Hoare triple {12081#true} call ULTIMATE.init(); {12081#true} is VALID [2018-11-23 12:15:21,079 INFO L273 TraceCheckUtils]: 1: Hoare triple {12081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12081#true} is VALID [2018-11-23 12:15:21,079 INFO L273 TraceCheckUtils]: 2: Hoare triple {12081#true} assume true; {12081#true} is VALID [2018-11-23 12:15:21,079 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12081#true} {12081#true} #66#return; {12081#true} is VALID [2018-11-23 12:15:21,079 INFO L256 TraceCheckUtils]: 4: Hoare triple {12081#true} call #t~ret12 := main(); {12081#true} is VALID [2018-11-23 12:15:21,080 INFO L273 TraceCheckUtils]: 5: Hoare triple {12081#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12081#true} is VALID [2018-11-23 12:15:21,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,080 INFO L273 TraceCheckUtils]: 7: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,080 INFO L273 TraceCheckUtils]: 8: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,080 INFO L273 TraceCheckUtils]: 9: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 10: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 11: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 12: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 13: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 14: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,081 INFO L273 TraceCheckUtils]: 15: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 16: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 17: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 18: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 19: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 20: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 21: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 22: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 23: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,082 INFO L273 TraceCheckUtils]: 24: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 25: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 26: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 27: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 28: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 29: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 30: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 31: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 32: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,083 INFO L273 TraceCheckUtils]: 33: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 34: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 35: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 36: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 37: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 38: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 39: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 40: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,084 INFO L273 TraceCheckUtils]: 41: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L273 TraceCheckUtils]: 42: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L273 TraceCheckUtils]: 43: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L273 TraceCheckUtils]: 44: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L273 TraceCheckUtils]: 45: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L273 TraceCheckUtils]: 46: Hoare triple {12081#true} assume !(~i~1 < 20); {12081#true} is VALID [2018-11-23 12:15:21,085 INFO L256 TraceCheckUtils]: 47: Hoare triple {12081#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {12081#true} is VALID [2018-11-23 12:15:21,086 INFO L273 TraceCheckUtils]: 48: Hoare triple {12081#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12083#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:21,086 INFO L273 TraceCheckUtils]: 49: Hoare triple {12083#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12083#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:21,086 INFO L273 TraceCheckUtils]: 50: Hoare triple {12083#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12084#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:21,087 INFO L273 TraceCheckUtils]: 51: Hoare triple {12084#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12084#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:21,087 INFO L273 TraceCheckUtils]: 52: Hoare triple {12084#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12085#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:21,087 INFO L273 TraceCheckUtils]: 53: Hoare triple {12085#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12085#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:21,088 INFO L273 TraceCheckUtils]: 54: Hoare triple {12085#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12086#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:21,088 INFO L273 TraceCheckUtils]: 55: Hoare triple {12086#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12086#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:21,089 INFO L273 TraceCheckUtils]: 56: Hoare triple {12086#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12087#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:21,089 INFO L273 TraceCheckUtils]: 57: Hoare triple {12087#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12087#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:21,090 INFO L273 TraceCheckUtils]: 58: Hoare triple {12087#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12088#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:21,090 INFO L273 TraceCheckUtils]: 59: Hoare triple {12088#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12088#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:21,091 INFO L273 TraceCheckUtils]: 60: Hoare triple {12088#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12089#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:21,091 INFO L273 TraceCheckUtils]: 61: Hoare triple {12089#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12089#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:21,092 INFO L273 TraceCheckUtils]: 62: Hoare triple {12089#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12090#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:21,093 INFO L273 TraceCheckUtils]: 63: Hoare triple {12090#(<= avg_~i~0 7)} assume !(~i~0 < 20); {12082#false} is VALID [2018-11-23 12:15:21,093 INFO L273 TraceCheckUtils]: 64: Hoare triple {12082#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12082#false} is VALID [2018-11-23 12:15:21,093 INFO L273 TraceCheckUtils]: 65: Hoare triple {12082#false} assume true; {12082#false} is VALID [2018-11-23 12:15:21,094 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {12082#false} {12081#true} #70#return; {12082#false} is VALID [2018-11-23 12:15:21,094 INFO L273 TraceCheckUtils]: 67: Hoare triple {12082#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12082#false} is VALID [2018-11-23 12:15:21,094 INFO L256 TraceCheckUtils]: 68: Hoare triple {12082#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {12081#true} is VALID [2018-11-23 12:15:21,094 INFO L273 TraceCheckUtils]: 69: Hoare triple {12081#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 70: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 71: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 72: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 73: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 74: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,095 INFO L273 TraceCheckUtils]: 75: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,096 INFO L273 TraceCheckUtils]: 76: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,096 INFO L273 TraceCheckUtils]: 77: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,096 INFO L273 TraceCheckUtils]: 78: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,096 INFO L273 TraceCheckUtils]: 79: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,096 INFO L273 TraceCheckUtils]: 80: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 81: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 82: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 83: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 84: Hoare triple {12081#true} assume !(~i~0 < 20); {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 85: Hoare triple {12081#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 86: Hoare triple {12081#true} assume true; {12081#true} is VALID [2018-11-23 12:15:21,097 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {12081#true} {12082#false} #72#return; {12082#false} is VALID [2018-11-23 12:15:21,097 INFO L273 TraceCheckUtils]: 88: Hoare triple {12082#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 89: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 90: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 91: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 92: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 93: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 94: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 95: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 96: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,098 INFO L273 TraceCheckUtils]: 97: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,099 INFO L273 TraceCheckUtils]: 98: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,099 INFO L273 TraceCheckUtils]: 99: Hoare triple {12082#false} assume !(~i~2 < 19); {12082#false} is VALID [2018-11-23 12:15:21,099 INFO L273 TraceCheckUtils]: 100: Hoare triple {12082#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12082#false} is VALID [2018-11-23 12:15:21,099 INFO L256 TraceCheckUtils]: 101: Hoare triple {12082#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {12081#true} is VALID [2018-11-23 12:15:21,099 INFO L273 TraceCheckUtils]: 102: Hoare triple {12081#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12081#true} is VALID [2018-11-23 12:15:21,099 INFO L273 TraceCheckUtils]: 103: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 104: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 105: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 106: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 107: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 108: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,100 INFO L273 TraceCheckUtils]: 109: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 110: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 111: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 112: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 113: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 114: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,101 INFO L273 TraceCheckUtils]: 115: Hoare triple {12081#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12081#true} is VALID [2018-11-23 12:15:21,102 INFO L273 TraceCheckUtils]: 116: Hoare triple {12081#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12081#true} is VALID [2018-11-23 12:15:21,102 INFO L273 TraceCheckUtils]: 117: Hoare triple {12081#true} assume !(~i~0 < 20); {12081#true} is VALID [2018-11-23 12:15:21,102 INFO L273 TraceCheckUtils]: 118: Hoare triple {12081#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12081#true} is VALID [2018-11-23 12:15:21,102 INFO L273 TraceCheckUtils]: 119: Hoare triple {12081#true} assume true; {12081#true} is VALID [2018-11-23 12:15:21,102 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {12081#true} {12082#false} #74#return; {12082#false} is VALID [2018-11-23 12:15:21,102 INFO L273 TraceCheckUtils]: 121: Hoare triple {12082#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {12082#false} is VALID [2018-11-23 12:15:21,103 INFO L273 TraceCheckUtils]: 122: Hoare triple {12082#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12082#false} is VALID [2018-11-23 12:15:21,103 INFO L273 TraceCheckUtils]: 123: Hoare triple {12082#false} assume !false; {12082#false} is VALID [2018-11-23 12:15:21,111 INFO L134 CoverageAnalysis]: Checked inductivity of 923 backedges. 0 proven. 281 refuted. 0 times theorem prover too weak. 642 trivial. 0 not checked. [2018-11-23 12:15:21,111 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:21,111 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:21,128 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:15:21,191 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:15:21,191 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:21,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:21,228 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:21,455 INFO L256 TraceCheckUtils]: 0: Hoare triple {12081#true} call ULTIMATE.init(); {12081#true} is VALID [2018-11-23 12:15:21,455 INFO L273 TraceCheckUtils]: 1: Hoare triple {12081#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12081#true} is VALID [2018-11-23 12:15:21,455 INFO L273 TraceCheckUtils]: 2: Hoare triple {12081#true} assume true; {12081#true} is VALID [2018-11-23 12:15:21,456 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12081#true} {12081#true} #66#return; {12081#true} is VALID [2018-11-23 12:15:21,456 INFO L256 TraceCheckUtils]: 4: Hoare triple {12081#true} call #t~ret12 := main(); {12081#true} is VALID [2018-11-23 12:15:21,456 INFO L273 TraceCheckUtils]: 5: Hoare triple {12081#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12081#true} is VALID [2018-11-23 12:15:21,456 INFO L273 TraceCheckUtils]: 6: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,456 INFO L273 TraceCheckUtils]: 7: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 8: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 9: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 10: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 11: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 12: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 13: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,457 INFO L273 TraceCheckUtils]: 14: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 15: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 16: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 17: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 18: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 19: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 20: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 21: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 22: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,458 INFO L273 TraceCheckUtils]: 23: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 24: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 25: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 26: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 27: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 28: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 29: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 30: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 31: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,459 INFO L273 TraceCheckUtils]: 32: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 33: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 34: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 35: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 36: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 37: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 38: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 39: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 40: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,460 INFO L273 TraceCheckUtils]: 41: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L273 TraceCheckUtils]: 42: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L273 TraceCheckUtils]: 43: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L273 TraceCheckUtils]: 44: Hoare triple {12081#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L273 TraceCheckUtils]: 45: Hoare triple {12081#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L273 TraceCheckUtils]: 46: Hoare triple {12081#true} assume !(~i~1 < 20); {12081#true} is VALID [2018-11-23 12:15:21,461 INFO L256 TraceCheckUtils]: 47: Hoare triple {12081#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {12081#true} is VALID [2018-11-23 12:15:21,462 INFO L273 TraceCheckUtils]: 48: Hoare triple {12081#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12238#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:21,462 INFO L273 TraceCheckUtils]: 49: Hoare triple {12238#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12238#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:21,463 INFO L273 TraceCheckUtils]: 50: Hoare triple {12238#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12084#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:21,463 INFO L273 TraceCheckUtils]: 51: Hoare triple {12084#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12084#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:21,463 INFO L273 TraceCheckUtils]: 52: Hoare triple {12084#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12085#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:21,464 INFO L273 TraceCheckUtils]: 53: Hoare triple {12085#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12085#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:21,464 INFO L273 TraceCheckUtils]: 54: Hoare triple {12085#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12086#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:21,464 INFO L273 TraceCheckUtils]: 55: Hoare triple {12086#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12086#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:21,465 INFO L273 TraceCheckUtils]: 56: Hoare triple {12086#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12087#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:21,465 INFO L273 TraceCheckUtils]: 57: Hoare triple {12087#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12087#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:21,466 INFO L273 TraceCheckUtils]: 58: Hoare triple {12087#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12088#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:21,466 INFO L273 TraceCheckUtils]: 59: Hoare triple {12088#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12088#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:21,467 INFO L273 TraceCheckUtils]: 60: Hoare triple {12088#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12089#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:21,467 INFO L273 TraceCheckUtils]: 61: Hoare triple {12089#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12089#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:21,468 INFO L273 TraceCheckUtils]: 62: Hoare triple {12089#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12090#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:21,469 INFO L273 TraceCheckUtils]: 63: Hoare triple {12090#(<= avg_~i~0 7)} assume !(~i~0 < 20); {12082#false} is VALID [2018-11-23 12:15:21,469 INFO L273 TraceCheckUtils]: 64: Hoare triple {12082#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12082#false} is VALID [2018-11-23 12:15:21,469 INFO L273 TraceCheckUtils]: 65: Hoare triple {12082#false} assume true; {12082#false} is VALID [2018-11-23 12:15:21,469 INFO L268 TraceCheckUtils]: 66: Hoare quadruple {12082#false} {12081#true} #70#return; {12082#false} is VALID [2018-11-23 12:15:21,470 INFO L273 TraceCheckUtils]: 67: Hoare triple {12082#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12082#false} is VALID [2018-11-23 12:15:21,470 INFO L256 TraceCheckUtils]: 68: Hoare triple {12082#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {12082#false} is VALID [2018-11-23 12:15:21,470 INFO L273 TraceCheckUtils]: 69: Hoare triple {12082#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12082#false} is VALID [2018-11-23 12:15:21,470 INFO L273 TraceCheckUtils]: 70: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,470 INFO L273 TraceCheckUtils]: 71: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 72: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 73: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 74: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 75: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 76: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,471 INFO L273 TraceCheckUtils]: 77: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 78: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 79: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 80: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 81: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 82: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,472 INFO L273 TraceCheckUtils]: 83: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 84: Hoare triple {12082#false} assume !(~i~0 < 20); {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 85: Hoare triple {12082#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 86: Hoare triple {12082#false} assume true; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {12082#false} {12082#false} #72#return; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 88: Hoare triple {12082#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 89: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 90: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 91: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,473 INFO L273 TraceCheckUtils]: 92: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 93: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 94: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 95: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 96: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 97: Hoare triple {12082#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 98: Hoare triple {12082#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 99: Hoare triple {12082#false} assume !(~i~2 < 19); {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L273 TraceCheckUtils]: 100: Hoare triple {12082#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12082#false} is VALID [2018-11-23 12:15:21,474 INFO L256 TraceCheckUtils]: 101: Hoare triple {12082#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 102: Hoare triple {12082#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 103: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 104: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 105: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 106: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 107: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 108: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 109: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,475 INFO L273 TraceCheckUtils]: 110: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 111: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 112: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 113: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 114: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 115: Hoare triple {12082#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 116: Hoare triple {12082#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 117: Hoare triple {12082#false} assume !(~i~0 < 20); {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 118: Hoare triple {12082#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12082#false} is VALID [2018-11-23 12:15:21,476 INFO L273 TraceCheckUtils]: 119: Hoare triple {12082#false} assume true; {12082#false} is VALID [2018-11-23 12:15:21,477 INFO L268 TraceCheckUtils]: 120: Hoare quadruple {12082#false} {12082#false} #74#return; {12082#false} is VALID [2018-11-23 12:15:21,477 INFO L273 TraceCheckUtils]: 121: Hoare triple {12082#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {12082#false} is VALID [2018-11-23 12:15:21,477 INFO L273 TraceCheckUtils]: 122: Hoare triple {12082#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12082#false} is VALID [2018-11-23 12:15:21,477 INFO L273 TraceCheckUtils]: 123: Hoare triple {12082#false} assume !false; {12082#false} is VALID [2018-11-23 12:15:21,484 INFO L134 CoverageAnalysis]: Checked inductivity of 923 backedges. 228 proven. 49 refuted. 0 times theorem prover too weak. 646 trivial. 0 not checked. [2018-11-23 12:15:21,509 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:21,509 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2018-11-23 12:15:21,509 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 124 [2018-11-23 12:15:21,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:21,510 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:15:21,568 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:21,569 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:15:21,569 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:15:21,569 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:15:21,570 INFO L87 Difference]: Start difference. First operand 87 states and 91 transitions. Second operand 11 states. [2018-11-23 12:15:21,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:21,845 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2018-11-23 12:15:21,845 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:15:21,845 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 124 [2018-11-23 12:15:21,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:21,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:15:21,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2018-11-23 12:15:21,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:15:21,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2018-11-23 12:15:21,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2018-11-23 12:15:22,017 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:22,020 INFO L225 Difference]: With dead ends: 129 [2018-11-23 12:15:22,020 INFO L226 Difference]: Without dead ends: 90 [2018-11-23 12:15:22,021 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 124 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=55, Invalid=55, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:15:22,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2018-11-23 12:15:22,061 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 89. [2018-11-23 12:15:22,061 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:22,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand 89 states. [2018-11-23 12:15:22,061 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 89 states. [2018-11-23 12:15:22,061 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 89 states. [2018-11-23 12:15:22,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:22,063 INFO L93 Difference]: Finished difference Result 90 states and 94 transitions. [2018-11-23 12:15:22,063 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2018-11-23 12:15:22,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:22,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:22,064 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 90 states. [2018-11-23 12:15:22,064 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 90 states. [2018-11-23 12:15:22,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:22,066 INFO L93 Difference]: Finished difference Result 90 states and 94 transitions. [2018-11-23 12:15:22,066 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2018-11-23 12:15:22,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:22,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:22,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:22,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:22,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 89 states. [2018-11-23 12:15:22,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2018-11-23 12:15:22,070 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 124 [2018-11-23 12:15:22,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:22,070 INFO L480 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2018-11-23 12:15:22,070 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:15:22,070 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2018-11-23 12:15:22,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 131 [2018-11-23 12:15:22,071 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:22,071 INFO L402 BasicCegarLoop]: trace histogram [24, 24, 20, 20, 5, 5, 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:15:22,072 INFO L423 AbstractCegarLoop]: === Iteration 25 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:22,072 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:22,072 INFO L82 PathProgramCache]: Analyzing trace with hash -599721447, now seen corresponding path program 21 times [2018-11-23 12:15:22,072 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:22,072 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:22,073 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:22,073 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:22,073 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:22,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:22,406 INFO L256 TraceCheckUtils]: 0: Hoare triple {12966#true} call ULTIMATE.init(); {12966#true} is VALID [2018-11-23 12:15:22,406 INFO L273 TraceCheckUtils]: 1: Hoare triple {12966#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12966#true} is VALID [2018-11-23 12:15:22,406 INFO L273 TraceCheckUtils]: 2: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,407 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12966#true} {12966#true} #66#return; {12966#true} is VALID [2018-11-23 12:15:22,407 INFO L256 TraceCheckUtils]: 4: Hoare triple {12966#true} call #t~ret12 := main(); {12966#true} is VALID [2018-11-23 12:15:22,407 INFO L273 TraceCheckUtils]: 5: Hoare triple {12966#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12966#true} is VALID [2018-11-23 12:15:22,408 INFO L273 TraceCheckUtils]: 6: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,408 INFO L273 TraceCheckUtils]: 7: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,408 INFO L273 TraceCheckUtils]: 8: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,408 INFO L273 TraceCheckUtils]: 9: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,409 INFO L273 TraceCheckUtils]: 10: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,409 INFO L273 TraceCheckUtils]: 11: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,409 INFO L273 TraceCheckUtils]: 12: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,409 INFO L273 TraceCheckUtils]: 13: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,409 INFO L273 TraceCheckUtils]: 14: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,410 INFO L273 TraceCheckUtils]: 15: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,410 INFO L273 TraceCheckUtils]: 16: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,410 INFO L273 TraceCheckUtils]: 17: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,410 INFO L273 TraceCheckUtils]: 18: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,410 INFO L273 TraceCheckUtils]: 19: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 20: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 21: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 22: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 23: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 24: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,411 INFO L273 TraceCheckUtils]: 25: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 26: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 27: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 28: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 29: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 30: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,412 INFO L273 TraceCheckUtils]: 31: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 32: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 33: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 34: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 35: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 36: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,413 INFO L273 TraceCheckUtils]: 37: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,414 INFO L273 TraceCheckUtils]: 38: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,414 INFO L273 TraceCheckUtils]: 39: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,414 INFO L273 TraceCheckUtils]: 40: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,414 INFO L273 TraceCheckUtils]: 41: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,414 INFO L273 TraceCheckUtils]: 42: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,415 INFO L273 TraceCheckUtils]: 43: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,415 INFO L273 TraceCheckUtils]: 44: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,415 INFO L273 TraceCheckUtils]: 45: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,415 INFO L273 TraceCheckUtils]: 46: Hoare triple {12966#true} assume !(~i~1 < 20); {12966#true} is VALID [2018-11-23 12:15:22,415 INFO L256 TraceCheckUtils]: 47: Hoare triple {12966#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {12966#true} is VALID [2018-11-23 12:15:22,430 INFO L273 TraceCheckUtils]: 48: Hoare triple {12966#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12968#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:22,439 INFO L273 TraceCheckUtils]: 49: Hoare triple {12968#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12968#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:22,452 INFO L273 TraceCheckUtils]: 50: Hoare triple {12968#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12969#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:22,461 INFO L273 TraceCheckUtils]: 51: Hoare triple {12969#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12969#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:22,476 INFO L273 TraceCheckUtils]: 52: Hoare triple {12969#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12970#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:22,485 INFO L273 TraceCheckUtils]: 53: Hoare triple {12970#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12970#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:22,499 INFO L273 TraceCheckUtils]: 54: Hoare triple {12970#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12971#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:22,508 INFO L273 TraceCheckUtils]: 55: Hoare triple {12971#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12971#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:22,522 INFO L273 TraceCheckUtils]: 56: Hoare triple {12971#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12972#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:22,531 INFO L273 TraceCheckUtils]: 57: Hoare triple {12972#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12972#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:22,543 INFO L273 TraceCheckUtils]: 58: Hoare triple {12972#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12973#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:22,556 INFO L273 TraceCheckUtils]: 59: Hoare triple {12973#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12973#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:22,569 INFO L273 TraceCheckUtils]: 60: Hoare triple {12973#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12974#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:22,579 INFO L273 TraceCheckUtils]: 61: Hoare triple {12974#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12974#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:22,588 INFO L273 TraceCheckUtils]: 62: Hoare triple {12974#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12975#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:22,606 INFO L273 TraceCheckUtils]: 63: Hoare triple {12975#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12975#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:22,615 INFO L273 TraceCheckUtils]: 64: Hoare triple {12975#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12976#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:22,630 INFO L273 TraceCheckUtils]: 65: Hoare triple {12976#(<= avg_~i~0 8)} assume !(~i~0 < 20); {12967#false} is VALID [2018-11-23 12:15:22,630 INFO L273 TraceCheckUtils]: 66: Hoare triple {12967#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12967#false} is VALID [2018-11-23 12:15:22,630 INFO L273 TraceCheckUtils]: 67: Hoare triple {12967#false} assume true; {12967#false} is VALID [2018-11-23 12:15:22,631 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {12967#false} {12966#true} #70#return; {12967#false} is VALID [2018-11-23 12:15:22,631 INFO L273 TraceCheckUtils]: 69: Hoare triple {12967#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12967#false} is VALID [2018-11-23 12:15:22,631 INFO L256 TraceCheckUtils]: 70: Hoare triple {12967#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {12966#true} is VALID [2018-11-23 12:15:22,631 INFO L273 TraceCheckUtils]: 71: Hoare triple {12966#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12966#true} is VALID [2018-11-23 12:15:22,631 INFO L273 TraceCheckUtils]: 72: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 73: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 74: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 75: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 76: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 77: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,632 INFO L273 TraceCheckUtils]: 78: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 79: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 80: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 81: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 82: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 83: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,633 INFO L273 TraceCheckUtils]: 84: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,634 INFO L273 TraceCheckUtils]: 85: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,634 INFO L273 TraceCheckUtils]: 86: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,634 INFO L273 TraceCheckUtils]: 87: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,634 INFO L273 TraceCheckUtils]: 88: Hoare triple {12966#true} assume !(~i~0 < 20); {12966#true} is VALID [2018-11-23 12:15:22,634 INFO L273 TraceCheckUtils]: 89: Hoare triple {12966#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12966#true} is VALID [2018-11-23 12:15:22,635 INFO L273 TraceCheckUtils]: 90: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,635 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {12966#true} {12967#false} #72#return; {12967#false} is VALID [2018-11-23 12:15:22,635 INFO L273 TraceCheckUtils]: 92: Hoare triple {12967#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {12967#false} is VALID [2018-11-23 12:15:22,635 INFO L273 TraceCheckUtils]: 93: Hoare triple {12967#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12967#false} is VALID [2018-11-23 12:15:22,635 INFO L273 TraceCheckUtils]: 94: Hoare triple {12967#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12967#false} is VALID [2018-11-23 12:15:22,635 INFO L273 TraceCheckUtils]: 95: Hoare triple {12967#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 96: Hoare triple {12967#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 97: Hoare triple {12967#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 98: Hoare triple {12967#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 99: Hoare triple {12967#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 100: Hoare triple {12967#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12967#false} is VALID [2018-11-23 12:15:22,636 INFO L273 TraceCheckUtils]: 101: Hoare triple {12967#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {12967#false} is VALID [2018-11-23 12:15:22,637 INFO L273 TraceCheckUtils]: 102: Hoare triple {12967#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {12967#false} is VALID [2018-11-23 12:15:22,637 INFO L273 TraceCheckUtils]: 103: Hoare triple {12967#false} assume !(~i~2 < 19); {12967#false} is VALID [2018-11-23 12:15:22,637 INFO L273 TraceCheckUtils]: 104: Hoare triple {12967#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12967#false} is VALID [2018-11-23 12:15:22,637 INFO L256 TraceCheckUtils]: 105: Hoare triple {12967#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {12966#true} is VALID [2018-11-23 12:15:22,637 INFO L273 TraceCheckUtils]: 106: Hoare triple {12966#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12966#true} is VALID [2018-11-23 12:15:22,637 INFO L273 TraceCheckUtils]: 107: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 108: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 109: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 110: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 111: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 112: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,638 INFO L273 TraceCheckUtils]: 113: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 114: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 115: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 116: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 117: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 118: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,639 INFO L273 TraceCheckUtils]: 119: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 120: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 121: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 122: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 123: Hoare triple {12966#true} assume !(~i~0 < 20); {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 124: Hoare triple {12966#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12966#true} is VALID [2018-11-23 12:15:22,640 INFO L273 TraceCheckUtils]: 125: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,641 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {12966#true} {12967#false} #74#return; {12967#false} is VALID [2018-11-23 12:15:22,641 INFO L273 TraceCheckUtils]: 127: Hoare triple {12967#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {12967#false} is VALID [2018-11-23 12:15:22,641 INFO L273 TraceCheckUtils]: 128: Hoare triple {12967#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12967#false} is VALID [2018-11-23 12:15:22,641 INFO L273 TraceCheckUtils]: 129: Hoare triple {12967#false} assume !false; {12967#false} is VALID [2018-11-23 12:15:22,651 INFO L134 CoverageAnalysis]: Checked inductivity of 1064 backedges. 0 proven. 360 refuted. 0 times theorem prover too weak. 704 trivial. 0 not checked. [2018-11-23 12:15:22,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:22,651 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:22,671 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:15:22,773 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2018-11-23 12:15:22,773 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:22,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:22,800 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:22,969 INFO L256 TraceCheckUtils]: 0: Hoare triple {12966#true} call ULTIMATE.init(); {12966#true} is VALID [2018-11-23 12:15:22,970 INFO L273 TraceCheckUtils]: 1: Hoare triple {12966#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {12966#true} is VALID [2018-11-23 12:15:22,970 INFO L273 TraceCheckUtils]: 2: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,970 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {12966#true} {12966#true} #66#return; {12966#true} is VALID [2018-11-23 12:15:22,971 INFO L256 TraceCheckUtils]: 4: Hoare triple {12966#true} call #t~ret12 := main(); {12966#true} is VALID [2018-11-23 12:15:22,971 INFO L273 TraceCheckUtils]: 5: Hoare triple {12966#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {12966#true} is VALID [2018-11-23 12:15:22,971 INFO L273 TraceCheckUtils]: 6: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,971 INFO L273 TraceCheckUtils]: 7: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,971 INFO L273 TraceCheckUtils]: 8: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 9: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 10: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 11: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 12: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 13: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 14: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 15: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,972 INFO L273 TraceCheckUtils]: 16: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 17: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 18: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 19: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 20: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 21: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 22: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,973 INFO L273 TraceCheckUtils]: 23: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 24: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 25: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 26: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 27: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 28: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 29: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,974 INFO L273 TraceCheckUtils]: 30: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 31: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 32: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 33: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 34: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 35: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,975 INFO L273 TraceCheckUtils]: 36: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 37: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 38: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 39: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 40: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 41: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 42: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,976 INFO L273 TraceCheckUtils]: 43: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 44: Hoare triple {12966#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 45: Hoare triple {12966#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 46: Hoare triple {12966#true} assume !(~i~1 < 20); {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L256 TraceCheckUtils]: 47: Hoare triple {12966#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 48: Hoare triple {12966#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 49: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 50: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 51: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,977 INFO L273 TraceCheckUtils]: 52: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 53: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 54: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 55: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 56: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 57: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 58: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 59: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 60: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 61: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,978 INFO L273 TraceCheckUtils]: 62: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 63: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 64: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 65: Hoare triple {12966#true} assume !(~i~0 < 20); {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 66: Hoare triple {12966#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 67: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {12966#true} {12966#true} #70#return; {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L273 TraceCheckUtils]: 69: Hoare triple {12966#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {12966#true} is VALID [2018-11-23 12:15:22,979 INFO L256 TraceCheckUtils]: 70: Hoare triple {12966#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 71: Hoare triple {12966#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 72: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 73: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 74: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 75: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 76: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 77: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 78: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,980 INFO L273 TraceCheckUtils]: 79: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 80: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 81: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 82: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 83: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 84: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 85: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 86: Hoare triple {12966#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 87: Hoare triple {12966#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 88: Hoare triple {12966#true} assume !(~i~0 < 20); {12966#true} is VALID [2018-11-23 12:15:22,981 INFO L273 TraceCheckUtils]: 89: Hoare triple {12966#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12966#true} is VALID [2018-11-23 12:15:22,982 INFO L273 TraceCheckUtils]: 90: Hoare triple {12966#true} assume true; {12966#true} is VALID [2018-11-23 12:15:22,982 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {12966#true} {12966#true} #72#return; {12966#true} is VALID [2018-11-23 12:15:22,982 INFO L273 TraceCheckUtils]: 92: Hoare triple {12966#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {13256#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:22,983 INFO L273 TraceCheckUtils]: 93: Hoare triple {13256#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13256#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:22,984 INFO L273 TraceCheckUtils]: 94: Hoare triple {13256#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13263#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:22,984 INFO L273 TraceCheckUtils]: 95: Hoare triple {13263#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13263#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:22,986 INFO L273 TraceCheckUtils]: 96: Hoare triple {13263#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13270#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:22,986 INFO L273 TraceCheckUtils]: 97: Hoare triple {13270#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13270#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:22,988 INFO L273 TraceCheckUtils]: 98: Hoare triple {13270#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13277#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:22,988 INFO L273 TraceCheckUtils]: 99: Hoare triple {13277#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13277#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:22,990 INFO L273 TraceCheckUtils]: 100: Hoare triple {13277#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13284#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:22,990 INFO L273 TraceCheckUtils]: 101: Hoare triple {13284#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13284#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:22,991 INFO L273 TraceCheckUtils]: 102: Hoare triple {13284#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13291#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:22,991 INFO L273 TraceCheckUtils]: 103: Hoare triple {13291#(<= main_~i~2 5)} assume !(~i~2 < 19); {12967#false} is VALID [2018-11-23 12:15:22,991 INFO L273 TraceCheckUtils]: 104: Hoare triple {12967#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {12967#false} is VALID [2018-11-23 12:15:22,991 INFO L256 TraceCheckUtils]: 105: Hoare triple {12967#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {12967#false} is VALID [2018-11-23 12:15:22,991 INFO L273 TraceCheckUtils]: 106: Hoare triple {12967#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {12967#false} is VALID [2018-11-23 12:15:22,991 INFO L273 TraceCheckUtils]: 107: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 108: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 109: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 110: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 111: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 112: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 113: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 114: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 115: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,992 INFO L273 TraceCheckUtils]: 116: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 117: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 118: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 119: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 120: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 121: Hoare triple {12967#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 122: Hoare triple {12967#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 123: Hoare triple {12967#false} assume !(~i~0 < 20); {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 124: Hoare triple {12967#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {12967#false} is VALID [2018-11-23 12:15:22,993 INFO L273 TraceCheckUtils]: 125: Hoare triple {12967#false} assume true; {12967#false} is VALID [2018-11-23 12:15:22,994 INFO L268 TraceCheckUtils]: 126: Hoare quadruple {12967#false} {12967#false} #74#return; {12967#false} is VALID [2018-11-23 12:15:22,994 INFO L273 TraceCheckUtils]: 127: Hoare triple {12967#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {12967#false} is VALID [2018-11-23 12:15:22,994 INFO L273 TraceCheckUtils]: 128: Hoare triple {12967#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {12967#false} is VALID [2018-11-23 12:15:22,994 INFO L273 TraceCheckUtils]: 129: Hoare triple {12967#false} assume !false; {12967#false} is VALID [2018-11-23 12:15:23,000 INFO L134 CoverageAnalysis]: Checked inductivity of 1064 backedges. 298 proven. 25 refuted. 0 times theorem prover too weak. 741 trivial. 0 not checked. [2018-11-23 12:15:23,020 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:23,020 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 17 [2018-11-23 12:15:23,021 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 130 [2018-11-23 12:15:23,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:23,021 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:15:23,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:23,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:15:23,093 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:15:23,094 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=190, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:23,094 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand 17 states. [2018-11-23 12:15:23,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:23,499 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2018-11-23 12:15:23,499 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:15:23,499 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 130 [2018-11-23 12:15:23,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:23,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:23,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2018-11-23 12:15:23,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:23,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2018-11-23 12:15:23,501 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 84 transitions. [2018-11-23 12:15:23,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:23,593 INFO L225 Difference]: With dead ends: 136 [2018-11-23 12:15:23,594 INFO L226 Difference]: Without dead ends: 95 [2018-11-23 12:15:23,594 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 125 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=82, Invalid=190, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:23,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2018-11-23 12:15:23,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2018-11-23 12:15:23,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:23,639 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 93 states. [2018-11-23 12:15:23,639 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 93 states. [2018-11-23 12:15:23,639 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 93 states. [2018-11-23 12:15:23,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:23,642 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2018-11-23 12:15:23,642 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2018-11-23 12:15:23,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:23,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:23,643 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 95 states. [2018-11-23 12:15:23,643 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 95 states. [2018-11-23 12:15:23,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:23,645 INFO L93 Difference]: Finished difference Result 95 states and 99 transitions. [2018-11-23 12:15:23,645 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2018-11-23 12:15:23,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:23,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:23,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:23,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:23,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-11-23 12:15:23,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 97 transitions. [2018-11-23 12:15:23,649 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 97 transitions. Word has length 130 [2018-11-23 12:15:23,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:23,649 INFO L480 AbstractCegarLoop]: Abstraction has 93 states and 97 transitions. [2018-11-23 12:15:23,649 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:15:23,649 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 97 transitions. [2018-11-23 12:15:23,650 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2018-11-23 12:15:23,650 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:23,650 INFO L402 BasicCegarLoop]: trace histogram [27, 27, 20, 20, 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:15:23,650 INFO L423 AbstractCegarLoop]: === Iteration 26 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:23,651 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:23,651 INFO L82 PathProgramCache]: Analyzing trace with hash 88177301, now seen corresponding path program 22 times [2018-11-23 12:15:23,651 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:23,651 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:23,652 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:23,652 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:23,652 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:23,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:24,002 INFO L256 TraceCheckUtils]: 0: Hoare triple {13901#true} call ULTIMATE.init(); {13901#true} is VALID [2018-11-23 12:15:24,003 INFO L273 TraceCheckUtils]: 1: Hoare triple {13901#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13901#true} is VALID [2018-11-23 12:15:24,003 INFO L273 TraceCheckUtils]: 2: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,003 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13901#true} {13901#true} #66#return; {13901#true} is VALID [2018-11-23 12:15:24,004 INFO L256 TraceCheckUtils]: 4: Hoare triple {13901#true} call #t~ret12 := main(); {13901#true} is VALID [2018-11-23 12:15:24,004 INFO L273 TraceCheckUtils]: 5: Hoare triple {13901#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13901#true} is VALID [2018-11-23 12:15:24,004 INFO L273 TraceCheckUtils]: 6: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 7: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 8: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 9: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 10: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 11: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,005 INFO L273 TraceCheckUtils]: 12: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 13: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 14: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 15: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 16: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 17: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,006 INFO L273 TraceCheckUtils]: 18: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 19: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 20: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 21: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 22: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 23: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,007 INFO L273 TraceCheckUtils]: 24: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 25: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 26: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 27: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 28: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 29: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 30: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,008 INFO L273 TraceCheckUtils]: 31: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 32: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 33: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 34: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 35: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 36: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,009 INFO L273 TraceCheckUtils]: 37: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 38: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 39: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 40: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 41: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 42: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 43: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,010 INFO L273 TraceCheckUtils]: 44: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,011 INFO L273 TraceCheckUtils]: 45: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,011 INFO L273 TraceCheckUtils]: 46: Hoare triple {13901#true} assume !(~i~1 < 20); {13901#true} is VALID [2018-11-23 12:15:24,011 INFO L256 TraceCheckUtils]: 47: Hoare triple {13901#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,011 INFO L273 TraceCheckUtils]: 48: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {13903#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:24,012 INFO L273 TraceCheckUtils]: 49: Hoare triple {13903#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13903#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:24,012 INFO L273 TraceCheckUtils]: 50: Hoare triple {13903#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13904#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:24,012 INFO L273 TraceCheckUtils]: 51: Hoare triple {13904#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13904#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:24,013 INFO L273 TraceCheckUtils]: 52: Hoare triple {13904#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13905#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:24,013 INFO L273 TraceCheckUtils]: 53: Hoare triple {13905#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13905#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:24,014 INFO L273 TraceCheckUtils]: 54: Hoare triple {13905#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13906#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:24,014 INFO L273 TraceCheckUtils]: 55: Hoare triple {13906#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13906#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:24,014 INFO L273 TraceCheckUtils]: 56: Hoare triple {13906#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13907#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:24,015 INFO L273 TraceCheckUtils]: 57: Hoare triple {13907#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13907#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:24,015 INFO L273 TraceCheckUtils]: 58: Hoare triple {13907#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13908#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:24,016 INFO L273 TraceCheckUtils]: 59: Hoare triple {13908#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13908#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:24,016 INFO L273 TraceCheckUtils]: 60: Hoare triple {13908#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13909#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:24,017 INFO L273 TraceCheckUtils]: 61: Hoare triple {13909#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13909#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:24,018 INFO L273 TraceCheckUtils]: 62: Hoare triple {13909#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13910#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:24,018 INFO L273 TraceCheckUtils]: 63: Hoare triple {13910#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13910#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:24,019 INFO L273 TraceCheckUtils]: 64: Hoare triple {13910#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13911#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:24,019 INFO L273 TraceCheckUtils]: 65: Hoare triple {13911#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13911#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:24,020 INFO L273 TraceCheckUtils]: 66: Hoare triple {13911#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13912#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:24,021 INFO L273 TraceCheckUtils]: 67: Hoare triple {13912#(<= avg_~i~0 9)} assume !(~i~0 < 20); {13902#false} is VALID [2018-11-23 12:15:24,021 INFO L273 TraceCheckUtils]: 68: Hoare triple {13902#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13902#false} is VALID [2018-11-23 12:15:24,021 INFO L273 TraceCheckUtils]: 69: Hoare triple {13902#false} assume true; {13902#false} is VALID [2018-11-23 12:15:24,021 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {13902#false} {13901#true} #70#return; {13902#false} is VALID [2018-11-23 12:15:24,022 INFO L273 TraceCheckUtils]: 71: Hoare triple {13902#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {13902#false} is VALID [2018-11-23 12:15:24,022 INFO L256 TraceCheckUtils]: 72: Hoare triple {13902#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,022 INFO L273 TraceCheckUtils]: 73: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {13901#true} is VALID [2018-11-23 12:15:24,022 INFO L273 TraceCheckUtils]: 74: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,022 INFO L273 TraceCheckUtils]: 75: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,023 INFO L273 TraceCheckUtils]: 76: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,023 INFO L273 TraceCheckUtils]: 77: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,023 INFO L273 TraceCheckUtils]: 78: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,023 INFO L273 TraceCheckUtils]: 79: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,023 INFO L273 TraceCheckUtils]: 80: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,024 INFO L273 TraceCheckUtils]: 81: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,024 INFO L273 TraceCheckUtils]: 82: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,024 INFO L273 TraceCheckUtils]: 83: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,024 INFO L273 TraceCheckUtils]: 84: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,024 INFO L273 TraceCheckUtils]: 85: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 86: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 87: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 88: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 89: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 90: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 91: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 92: Hoare triple {13901#true} assume !(~i~0 < 20); {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 93: Hoare triple {13901#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13901#true} is VALID [2018-11-23 12:15:24,025 INFO L273 TraceCheckUtils]: 94: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,026 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {13901#true} {13902#false} #72#return; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 96: Hoare triple {13902#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 97: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 98: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 99: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 100: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 101: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 102: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,026 INFO L273 TraceCheckUtils]: 103: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 104: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 105: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 106: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 107: Hoare triple {13902#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 108: Hoare triple {13902#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 109: Hoare triple {13902#false} assume !(~i~2 < 19); {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 110: Hoare triple {13902#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {13902#false} is VALID [2018-11-23 12:15:24,027 INFO L256 TraceCheckUtils]: 111: Hoare triple {13902#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,027 INFO L273 TraceCheckUtils]: 112: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 113: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 114: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 115: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 116: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 117: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 118: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 119: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,028 INFO L273 TraceCheckUtils]: 120: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 121: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 122: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 123: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 124: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 125: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 126: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 127: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 128: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 129: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,029 INFO L273 TraceCheckUtils]: 130: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 131: Hoare triple {13901#true} assume !(~i~0 < 20); {13901#true} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 132: Hoare triple {13901#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13901#true} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 133: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,030 INFO L268 TraceCheckUtils]: 134: Hoare quadruple {13901#true} {13902#false} #74#return; {13902#false} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 135: Hoare triple {13902#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {13902#false} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 136: Hoare triple {13902#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13902#false} is VALID [2018-11-23 12:15:24,030 INFO L273 TraceCheckUtils]: 137: Hoare triple {13902#false} assume !false; {13902#false} is VALID [2018-11-23 12:15:24,037 INFO L134 CoverageAnalysis]: Checked inductivity of 1234 backedges. 0 proven. 449 refuted. 0 times theorem prover too weak. 785 trivial. 0 not checked. [2018-11-23 12:15:24,038 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:24,038 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:24,046 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:15:24,111 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:15:24,111 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:24,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:24,154 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:24,326 INFO L256 TraceCheckUtils]: 0: Hoare triple {13901#true} call ULTIMATE.init(); {13901#true} is VALID [2018-11-23 12:15:24,327 INFO L273 TraceCheckUtils]: 1: Hoare triple {13901#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {13901#true} is VALID [2018-11-23 12:15:24,327 INFO L273 TraceCheckUtils]: 2: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,327 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13901#true} {13901#true} #66#return; {13901#true} is VALID [2018-11-23 12:15:24,327 INFO L256 TraceCheckUtils]: 4: Hoare triple {13901#true} call #t~ret12 := main(); {13901#true} is VALID [2018-11-23 12:15:24,328 INFO L273 TraceCheckUtils]: 5: Hoare triple {13901#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {13901#true} is VALID [2018-11-23 12:15:24,328 INFO L273 TraceCheckUtils]: 6: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,328 INFO L273 TraceCheckUtils]: 7: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,328 INFO L273 TraceCheckUtils]: 8: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,328 INFO L273 TraceCheckUtils]: 9: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,329 INFO L273 TraceCheckUtils]: 10: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,329 INFO L273 TraceCheckUtils]: 11: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,329 INFO L273 TraceCheckUtils]: 12: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,329 INFO L273 TraceCheckUtils]: 13: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,329 INFO L273 TraceCheckUtils]: 14: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 15: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 16: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 17: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 18: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 19: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 20: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 21: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 22: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 23: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,330 INFO L273 TraceCheckUtils]: 24: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 25: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 26: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 27: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 28: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 29: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 30: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 31: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 32: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,331 INFO L273 TraceCheckUtils]: 33: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 34: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 35: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 36: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 37: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 38: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 39: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 40: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 41: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,332 INFO L273 TraceCheckUtils]: 42: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 43: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 44: Hoare triple {13901#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 45: Hoare triple {13901#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 46: Hoare triple {13901#true} assume !(~i~1 < 20); {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L256 TraceCheckUtils]: 47: Hoare triple {13901#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 48: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 49: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 50: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,333 INFO L273 TraceCheckUtils]: 51: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 52: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 53: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 54: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 55: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 56: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 57: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 58: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 59: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,334 INFO L273 TraceCheckUtils]: 60: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 61: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 62: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 63: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 64: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 65: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 66: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 67: Hoare triple {13901#true} assume !(~i~0 < 20); {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 68: Hoare triple {13901#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L273 TraceCheckUtils]: 69: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,335 INFO L268 TraceCheckUtils]: 70: Hoare quadruple {13901#true} {13901#true} #70#return; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 71: Hoare triple {13901#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L256 TraceCheckUtils]: 72: Hoare triple {13901#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 73: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 74: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 75: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 76: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 77: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 78: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,336 INFO L273 TraceCheckUtils]: 79: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 80: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 81: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 82: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 83: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 84: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 85: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 86: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 87: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,337 INFO L273 TraceCheckUtils]: 88: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 89: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 90: Hoare triple {13901#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 91: Hoare triple {13901#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 92: Hoare triple {13901#true} assume !(~i~0 < 20); {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 93: Hoare triple {13901#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 94: Hoare triple {13901#true} assume true; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L268 TraceCheckUtils]: 95: Hoare quadruple {13901#true} {13901#true} #72#return; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 96: Hoare triple {13901#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {13901#true} is VALID [2018-11-23 12:15:24,338 INFO L273 TraceCheckUtils]: 97: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 98: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 99: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 100: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 101: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 102: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 103: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 104: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 105: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 106: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,339 INFO L273 TraceCheckUtils]: 107: Hoare triple {13901#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {13901#true} is VALID [2018-11-23 12:15:24,340 INFO L273 TraceCheckUtils]: 108: Hoare triple {13901#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {13901#true} is VALID [2018-11-23 12:15:24,340 INFO L273 TraceCheckUtils]: 109: Hoare triple {13901#true} assume !(~i~2 < 19); {13901#true} is VALID [2018-11-23 12:15:24,340 INFO L273 TraceCheckUtils]: 110: Hoare triple {13901#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {13901#true} is VALID [2018-11-23 12:15:24,340 INFO L256 TraceCheckUtils]: 111: Hoare triple {13901#true} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {13901#true} is VALID [2018-11-23 12:15:24,340 INFO L273 TraceCheckUtils]: 112: Hoare triple {13901#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14252#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:24,341 INFO L273 TraceCheckUtils]: 113: Hoare triple {14252#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14252#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:24,341 INFO L273 TraceCheckUtils]: 114: Hoare triple {14252#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13904#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:24,342 INFO L273 TraceCheckUtils]: 115: Hoare triple {13904#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13904#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:24,342 INFO L273 TraceCheckUtils]: 116: Hoare triple {13904#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13905#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:24,342 INFO L273 TraceCheckUtils]: 117: Hoare triple {13905#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13905#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:24,343 INFO L273 TraceCheckUtils]: 118: Hoare triple {13905#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13906#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:24,344 INFO L273 TraceCheckUtils]: 119: Hoare triple {13906#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13906#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:24,344 INFO L273 TraceCheckUtils]: 120: Hoare triple {13906#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13907#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:24,345 INFO L273 TraceCheckUtils]: 121: Hoare triple {13907#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13907#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:24,346 INFO L273 TraceCheckUtils]: 122: Hoare triple {13907#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13908#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:24,346 INFO L273 TraceCheckUtils]: 123: Hoare triple {13908#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13908#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:24,347 INFO L273 TraceCheckUtils]: 124: Hoare triple {13908#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13909#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:24,347 INFO L273 TraceCheckUtils]: 125: Hoare triple {13909#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13909#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:24,348 INFO L273 TraceCheckUtils]: 126: Hoare triple {13909#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13910#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:24,349 INFO L273 TraceCheckUtils]: 127: Hoare triple {13910#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13910#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:24,349 INFO L273 TraceCheckUtils]: 128: Hoare triple {13910#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13911#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:24,350 INFO L273 TraceCheckUtils]: 129: Hoare triple {13911#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {13911#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:24,351 INFO L273 TraceCheckUtils]: 130: Hoare triple {13911#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {13912#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:24,351 INFO L273 TraceCheckUtils]: 131: Hoare triple {13912#(<= avg_~i~0 9)} assume !(~i~0 < 20); {13902#false} is VALID [2018-11-23 12:15:24,351 INFO L273 TraceCheckUtils]: 132: Hoare triple {13902#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {13902#false} is VALID [2018-11-23 12:15:24,352 INFO L273 TraceCheckUtils]: 133: Hoare triple {13902#false} assume true; {13902#false} is VALID [2018-11-23 12:15:24,352 INFO L268 TraceCheckUtils]: 134: Hoare quadruple {13902#false} {13901#true} #74#return; {13902#false} is VALID [2018-11-23 12:15:24,352 INFO L273 TraceCheckUtils]: 135: Hoare triple {13902#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {13902#false} is VALID [2018-11-23 12:15:24,352 INFO L273 TraceCheckUtils]: 136: Hoare triple {13902#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {13902#false} is VALID [2018-11-23 12:15:24,352 INFO L273 TraceCheckUtils]: 137: Hoare triple {13902#false} assume !false; {13902#false} is VALID [2018-11-23 12:15:24,360 INFO L134 CoverageAnalysis]: Checked inductivity of 1234 backedges. 368 proven. 81 refuted. 0 times theorem prover too weak. 785 trivial. 0 not checked. [2018-11-23 12:15:24,380 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:24,380 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-23 12:15:24,381 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 138 [2018-11-23 12:15:24,381 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:24,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:15:24,444 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:24,444 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:15:24,444 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:15:24,445 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:15:24,445 INFO L87 Difference]: Start difference. First operand 93 states and 97 transitions. Second operand 13 states. [2018-11-23 12:15:24,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:24,757 INFO L93 Difference]: Finished difference Result 141 states and 151 transitions. [2018-11-23 12:15:24,757 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:15:24,757 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 138 [2018-11-23 12:15:24,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:24,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:15:24,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 73 transitions. [2018-11-23 12:15:24,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:15:24,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 73 transitions. [2018-11-23 12:15:24,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 73 transitions. [2018-11-23 12:15:25,206 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:25,208 INFO L225 Difference]: With dead ends: 141 [2018-11-23 12:15:25,208 INFO L226 Difference]: Without dead ends: 96 [2018-11-23 12:15:25,208 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 138 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:15:25,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2018-11-23 12:15:25,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 95. [2018-11-23 12:15:25,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:25,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand 95 states. [2018-11-23 12:15:25,252 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 95 states. [2018-11-23 12:15:25,252 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 95 states. [2018-11-23 12:15:25,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:25,256 INFO L93 Difference]: Finished difference Result 96 states and 100 transitions. [2018-11-23 12:15:25,256 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 100 transitions. [2018-11-23 12:15:25,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:25,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:25,257 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 96 states. [2018-11-23 12:15:25,257 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 96 states. [2018-11-23 12:15:25,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:25,259 INFO L93 Difference]: Finished difference Result 96 states and 100 transitions. [2018-11-23 12:15:25,259 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 100 transitions. [2018-11-23 12:15:25,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:25,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:25,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:25,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:25,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 95 states. [2018-11-23 12:15:25,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 99 transitions. [2018-11-23 12:15:25,262 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 99 transitions. Word has length 138 [2018-11-23 12:15:25,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:25,262 INFO L480 AbstractCegarLoop]: Abstraction has 95 states and 99 transitions. [2018-11-23 12:15:25,263 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:15:25,263 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 99 transitions. [2018-11-23 12:15:25,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 145 [2018-11-23 12:15:25,264 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:25,264 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 20, 20, 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:15:25,264 INFO L423 AbstractCegarLoop]: === Iteration 27 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:25,264 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:25,264 INFO L82 PathProgramCache]: Analyzing trace with hash -1947674477, now seen corresponding path program 23 times [2018-11-23 12:15:25,265 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:25,265 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:25,265 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:25,265 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:25,266 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:25,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:26,134 INFO L256 TraceCheckUtils]: 0: Hoare triple {14869#true} call ULTIMATE.init(); {14869#true} is VALID [2018-11-23 12:15:26,134 INFO L273 TraceCheckUtils]: 1: Hoare triple {14869#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14869#true} is VALID [2018-11-23 12:15:26,134 INFO L273 TraceCheckUtils]: 2: Hoare triple {14869#true} assume true; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14869#true} {14869#true} #66#return; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L256 TraceCheckUtils]: 4: Hoare triple {14869#true} call #t~ret12 := main(); {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 5: Hoare triple {14869#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 6: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 7: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 8: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 9: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 10: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,135 INFO L273 TraceCheckUtils]: 11: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 12: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 13: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 14: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 15: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 16: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 17: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 18: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 19: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,136 INFO L273 TraceCheckUtils]: 20: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 21: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 22: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 23: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 24: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 25: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 26: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 27: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 28: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,137 INFO L273 TraceCheckUtils]: 29: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 30: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 31: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 32: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 33: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 34: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 35: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 36: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 37: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,138 INFO L273 TraceCheckUtils]: 38: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 39: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 40: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 41: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 42: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 43: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 44: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 45: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L273 TraceCheckUtils]: 46: Hoare triple {14869#true} assume !(~i~1 < 20); {14869#true} is VALID [2018-11-23 12:15:26,139 INFO L256 TraceCheckUtils]: 47: Hoare triple {14869#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {14869#true} is VALID [2018-11-23 12:15:26,140 INFO L273 TraceCheckUtils]: 48: Hoare triple {14869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14871#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:26,141 INFO L273 TraceCheckUtils]: 49: Hoare triple {14871#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14871#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:26,141 INFO L273 TraceCheckUtils]: 50: Hoare triple {14871#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:26,144 INFO L273 TraceCheckUtils]: 51: Hoare triple {14872#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:26,144 INFO L273 TraceCheckUtils]: 52: Hoare triple {14872#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:26,146 INFO L273 TraceCheckUtils]: 53: Hoare triple {14873#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:26,146 INFO L273 TraceCheckUtils]: 54: Hoare triple {14873#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:26,148 INFO L273 TraceCheckUtils]: 55: Hoare triple {14874#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:26,149 INFO L273 TraceCheckUtils]: 56: Hoare triple {14874#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:26,151 INFO L273 TraceCheckUtils]: 57: Hoare triple {14875#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:26,151 INFO L273 TraceCheckUtils]: 58: Hoare triple {14875#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:26,153 INFO L273 TraceCheckUtils]: 59: Hoare triple {14876#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:26,153 INFO L273 TraceCheckUtils]: 60: Hoare triple {14876#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:26,155 INFO L273 TraceCheckUtils]: 61: Hoare triple {14877#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:26,155 INFO L273 TraceCheckUtils]: 62: Hoare triple {14877#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:26,158 INFO L273 TraceCheckUtils]: 63: Hoare triple {14878#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:26,158 INFO L273 TraceCheckUtils]: 64: Hoare triple {14878#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:26,161 INFO L273 TraceCheckUtils]: 65: Hoare triple {14879#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:26,161 INFO L273 TraceCheckUtils]: 66: Hoare triple {14879#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:26,162 INFO L273 TraceCheckUtils]: 67: Hoare triple {14880#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:26,163 INFO L273 TraceCheckUtils]: 68: Hoare triple {14880#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14881#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:26,163 INFO L273 TraceCheckUtils]: 69: Hoare triple {14881#(<= avg_~i~0 10)} assume !(~i~0 < 20); {14870#false} is VALID [2018-11-23 12:15:26,163 INFO L273 TraceCheckUtils]: 70: Hoare triple {14870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14870#false} is VALID [2018-11-23 12:15:26,163 INFO L273 TraceCheckUtils]: 71: Hoare triple {14870#false} assume true; {14870#false} is VALID [2018-11-23 12:15:26,163 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {14870#false} {14869#true} #70#return; {14870#false} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 73: Hoare triple {14870#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {14870#false} is VALID [2018-11-23 12:15:26,164 INFO L256 TraceCheckUtils]: 74: Hoare triple {14870#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {14869#true} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 75: Hoare triple {14869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14869#true} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 76: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 77: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 78: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,164 INFO L273 TraceCheckUtils]: 79: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,165 INFO L273 TraceCheckUtils]: 80: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,165 INFO L273 TraceCheckUtils]: 81: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,165 INFO L273 TraceCheckUtils]: 82: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,165 INFO L273 TraceCheckUtils]: 83: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,165 INFO L273 TraceCheckUtils]: 84: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 85: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 86: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 87: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 88: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 89: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,166 INFO L273 TraceCheckUtils]: 90: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 91: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 92: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 93: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 94: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 95: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 96: Hoare triple {14869#true} assume !(~i~0 < 20); {14869#true} is VALID [2018-11-23 12:15:26,167 INFO L273 TraceCheckUtils]: 97: Hoare triple {14869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14869#true} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 98: Hoare triple {14869#true} assume true; {14869#true} is VALID [2018-11-23 12:15:26,168 INFO L268 TraceCheckUtils]: 99: Hoare quadruple {14869#true} {14870#false} #72#return; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 100: Hoare triple {14870#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 101: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 102: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 103: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 104: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 105: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,168 INFO L273 TraceCheckUtils]: 106: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 107: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 108: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 109: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 110: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 111: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 112: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 113: Hoare triple {14870#false} assume !(~i~2 < 19); {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L273 TraceCheckUtils]: 114: Hoare triple {14870#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {14870#false} is VALID [2018-11-23 12:15:26,169 INFO L256 TraceCheckUtils]: 115: Hoare triple {14870#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 116: Hoare triple {14869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 117: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 118: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 119: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 120: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 121: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 122: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 123: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,170 INFO L273 TraceCheckUtils]: 124: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 125: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 126: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 127: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 128: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 129: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 130: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 131: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 132: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,171 INFO L273 TraceCheckUtils]: 133: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 134: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 135: Hoare triple {14869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 136: Hoare triple {14869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 137: Hoare triple {14869#true} assume !(~i~0 < 20); {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 138: Hoare triple {14869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 139: Hoare triple {14869#true} assume true; {14869#true} is VALID [2018-11-23 12:15:26,172 INFO L268 TraceCheckUtils]: 140: Hoare quadruple {14869#true} {14870#false} #74#return; {14870#false} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 141: Hoare triple {14870#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {14870#false} is VALID [2018-11-23 12:15:26,172 INFO L273 TraceCheckUtils]: 142: Hoare triple {14870#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14870#false} is VALID [2018-11-23 12:15:26,173 INFO L273 TraceCheckUtils]: 143: Hoare triple {14870#false} assume !false; {14870#false} is VALID [2018-11-23 12:15:26,180 INFO L134 CoverageAnalysis]: Checked inductivity of 1411 backedges. 0 proven. 548 refuted. 0 times theorem prover too weak. 863 trivial. 0 not checked. [2018-11-23 12:15:26,181 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:26,181 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:26,192 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:15:30,228 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 22 check-sat command(s) [2018-11-23 12:15:30,228 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:30,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:30,307 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:31,483 INFO L256 TraceCheckUtils]: 0: Hoare triple {14869#true} call ULTIMATE.init(); {14869#true} is VALID [2018-11-23 12:15:31,483 INFO L273 TraceCheckUtils]: 1: Hoare triple {14869#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {14869#true} is VALID [2018-11-23 12:15:31,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {14869#true} assume true; {14869#true} is VALID [2018-11-23 12:15:31,484 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14869#true} {14869#true} #66#return; {14869#true} is VALID [2018-11-23 12:15:31,484 INFO L256 TraceCheckUtils]: 4: Hoare triple {14869#true} call #t~ret12 := main(); {14869#true} is VALID [2018-11-23 12:15:31,484 INFO L273 TraceCheckUtils]: 5: Hoare triple {14869#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {14869#true} is VALID [2018-11-23 12:15:31,484 INFO L273 TraceCheckUtils]: 6: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 7: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 8: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 9: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 10: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 11: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 12: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 13: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,485 INFO L273 TraceCheckUtils]: 14: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 15: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 16: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 17: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 18: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 19: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 20: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 21: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 22: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,486 INFO L273 TraceCheckUtils]: 23: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 24: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 25: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 26: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 27: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 28: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 29: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 30: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 31: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,487 INFO L273 TraceCheckUtils]: 32: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 33: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 34: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 35: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 36: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 37: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 38: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 39: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 40: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,488 INFO L273 TraceCheckUtils]: 41: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L273 TraceCheckUtils]: 42: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L273 TraceCheckUtils]: 43: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L273 TraceCheckUtils]: 44: Hoare triple {14869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L273 TraceCheckUtils]: 45: Hoare triple {14869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L273 TraceCheckUtils]: 46: Hoare triple {14869#true} assume !(~i~1 < 20); {14869#true} is VALID [2018-11-23 12:15:31,489 INFO L256 TraceCheckUtils]: 47: Hoare triple {14869#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {14869#true} is VALID [2018-11-23 12:15:31,490 INFO L273 TraceCheckUtils]: 48: Hoare triple {14869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15029#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:31,490 INFO L273 TraceCheckUtils]: 49: Hoare triple {15029#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15029#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:31,491 INFO L273 TraceCheckUtils]: 50: Hoare triple {15029#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:31,491 INFO L273 TraceCheckUtils]: 51: Hoare triple {14872#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:31,491 INFO L273 TraceCheckUtils]: 52: Hoare triple {14872#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:31,492 INFO L273 TraceCheckUtils]: 53: Hoare triple {14873#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:31,492 INFO L273 TraceCheckUtils]: 54: Hoare triple {14873#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:31,493 INFO L273 TraceCheckUtils]: 55: Hoare triple {14874#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:31,493 INFO L273 TraceCheckUtils]: 56: Hoare triple {14874#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:31,494 INFO L273 TraceCheckUtils]: 57: Hoare triple {14875#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:31,495 INFO L273 TraceCheckUtils]: 58: Hoare triple {14875#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:31,495 INFO L273 TraceCheckUtils]: 59: Hoare triple {14876#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:31,496 INFO L273 TraceCheckUtils]: 60: Hoare triple {14876#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:31,497 INFO L273 TraceCheckUtils]: 61: Hoare triple {14877#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:31,497 INFO L273 TraceCheckUtils]: 62: Hoare triple {14877#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:31,498 INFO L273 TraceCheckUtils]: 63: Hoare triple {14878#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:31,499 INFO L273 TraceCheckUtils]: 64: Hoare triple {14878#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:31,499 INFO L273 TraceCheckUtils]: 65: Hoare triple {14879#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:31,500 INFO L273 TraceCheckUtils]: 66: Hoare triple {14879#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:31,500 INFO L273 TraceCheckUtils]: 67: Hoare triple {14880#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:31,501 INFO L273 TraceCheckUtils]: 68: Hoare triple {14880#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14881#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:31,502 INFO L273 TraceCheckUtils]: 69: Hoare triple {14881#(<= avg_~i~0 10)} assume !(~i~0 < 20); {14870#false} is VALID [2018-11-23 12:15:31,502 INFO L273 TraceCheckUtils]: 70: Hoare triple {14870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14870#false} is VALID [2018-11-23 12:15:31,502 INFO L273 TraceCheckUtils]: 71: Hoare triple {14870#false} assume true; {14870#false} is VALID [2018-11-23 12:15:31,502 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {14870#false} {14869#true} #70#return; {14870#false} is VALID [2018-11-23 12:15:31,503 INFO L273 TraceCheckUtils]: 73: Hoare triple {14870#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {14870#false} is VALID [2018-11-23 12:15:31,503 INFO L256 TraceCheckUtils]: 74: Hoare triple {14870#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {14870#false} is VALID [2018-11-23 12:15:31,503 INFO L273 TraceCheckUtils]: 75: Hoare triple {14870#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14870#false} is VALID [2018-11-23 12:15:31,503 INFO L273 TraceCheckUtils]: 76: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,503 INFO L273 TraceCheckUtils]: 77: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,504 INFO L273 TraceCheckUtils]: 78: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,504 INFO L273 TraceCheckUtils]: 79: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,504 INFO L273 TraceCheckUtils]: 80: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,504 INFO L273 TraceCheckUtils]: 81: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,504 INFO L273 TraceCheckUtils]: 82: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 83: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 84: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 85: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 86: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 87: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,505 INFO L273 TraceCheckUtils]: 88: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,506 INFO L273 TraceCheckUtils]: 89: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,506 INFO L273 TraceCheckUtils]: 90: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,506 INFO L273 TraceCheckUtils]: 91: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,506 INFO L273 TraceCheckUtils]: 92: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,506 INFO L273 TraceCheckUtils]: 93: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,507 INFO L273 TraceCheckUtils]: 94: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,507 INFO L273 TraceCheckUtils]: 95: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,507 INFO L273 TraceCheckUtils]: 96: Hoare triple {14870#false} assume !(~i~0 < 20); {14870#false} is VALID [2018-11-23 12:15:31,507 INFO L273 TraceCheckUtils]: 97: Hoare triple {14870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14870#false} is VALID [2018-11-23 12:15:31,507 INFO L273 TraceCheckUtils]: 98: Hoare triple {14870#false} assume true; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L268 TraceCheckUtils]: 99: Hoare quadruple {14870#false} {14870#false} #72#return; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 100: Hoare triple {14870#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 101: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 102: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 103: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 104: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 105: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,508 INFO L273 TraceCheckUtils]: 106: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 107: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 108: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 109: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 110: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 111: Hoare triple {14870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 112: Hoare triple {14870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 113: Hoare triple {14870#false} assume !(~i~2 < 19); {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L273 TraceCheckUtils]: 114: Hoare triple {14870#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {14870#false} is VALID [2018-11-23 12:15:31,509 INFO L256 TraceCheckUtils]: 115: Hoare triple {14870#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 116: Hoare triple {14870#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 117: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 118: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 119: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 120: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 121: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 122: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 123: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,510 INFO L273 TraceCheckUtils]: 124: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 125: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 126: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 127: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 128: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 129: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 130: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 131: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 132: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,511 INFO L273 TraceCheckUtils]: 133: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 134: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 135: Hoare triple {14870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 136: Hoare triple {14870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 137: Hoare triple {14870#false} assume !(~i~0 < 20); {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 138: Hoare triple {14870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 139: Hoare triple {14870#false} assume true; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L268 TraceCheckUtils]: 140: Hoare quadruple {14870#false} {14870#false} #74#return; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 141: Hoare triple {14870#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {14870#false} is VALID [2018-11-23 12:15:31,512 INFO L273 TraceCheckUtils]: 142: Hoare triple {14870#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {14870#false} is VALID [2018-11-23 12:15:31,513 INFO L273 TraceCheckUtils]: 143: Hoare triple {14870#false} assume !false; {14870#false} is VALID [2018-11-23 12:15:31,521 INFO L134 CoverageAnalysis]: Checked inductivity of 1411 backedges. 444 proven. 100 refuted. 0 times theorem prover too weak. 867 trivial. 0 not checked. [2018-11-23 12:15:31,542 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:31,542 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:15:31,543 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 144 [2018-11-23 12:15:31,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:31,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:15:31,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:31,605 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:15:31,606 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:15:31,606 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:15:31,606 INFO L87 Difference]: Start difference. First operand 95 states and 99 transitions. Second operand 14 states. [2018-11-23 12:15:32,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:32,107 INFO L93 Difference]: Finished difference Result 145 states and 155 transitions. [2018-11-23 12:15:32,107 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:15:32,107 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 144 [2018-11-23 12:15:32,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:32,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:15:32,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 75 transitions. [2018-11-23 12:15:32,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:15:32,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 75 transitions. [2018-11-23 12:15:32,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 75 transitions. [2018-11-23 12:15:32,182 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:32,184 INFO L225 Difference]: With dead ends: 145 [2018-11-23 12:15:32,184 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 12:15:32,185 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 144 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:15:32,185 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 12:15:32,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 97. [2018-11-23 12:15:32,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:32,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:32,219 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:32,219 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 97 states. [2018-11-23 12:15:32,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:32,221 INFO L93 Difference]: Finished difference Result 98 states and 102 transitions. [2018-11-23 12:15:32,221 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 102 transitions. [2018-11-23 12:15:32,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:32,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:32,222 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 98 states. [2018-11-23 12:15:32,222 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 98 states. [2018-11-23 12:15:32,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:32,224 INFO L93 Difference]: Finished difference Result 98 states and 102 transitions. [2018-11-23 12:15:32,224 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 102 transitions. [2018-11-23 12:15:32,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:32,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:32,225 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:32,225 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:32,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-23 12:15:32,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 101 transitions. [2018-11-23 12:15:32,248 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 101 transitions. Word has length 144 [2018-11-23 12:15:32,249 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:32,249 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 101 transitions. [2018-11-23 12:15:32,249 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:15:32,249 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 101 transitions. [2018-11-23 12:15:32,250 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 151 [2018-11-23 12:15:32,250 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:32,250 INFO L402 BasicCegarLoop]: trace histogram [33, 33, 20, 20, 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:15:32,251 INFO L423 AbstractCegarLoop]: === Iteration 28 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:32,251 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:32,251 INFO L82 PathProgramCache]: Analyzing trace with hash -338231279, now seen corresponding path program 24 times [2018-11-23 12:15:32,251 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:32,252 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:32,256 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:32,256 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:32,256 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:32,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:32,674 INFO L256 TraceCheckUtils]: 0: Hoare triple {15869#true} call ULTIMATE.init(); {15869#true} is VALID [2018-11-23 12:15:32,675 INFO L273 TraceCheckUtils]: 1: Hoare triple {15869#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15869#true} is VALID [2018-11-23 12:15:32,675 INFO L273 TraceCheckUtils]: 2: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:32,675 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15869#true} {15869#true} #66#return; {15869#true} is VALID [2018-11-23 12:15:32,675 INFO L256 TraceCheckUtils]: 4: Hoare triple {15869#true} call #t~ret12 := main(); {15869#true} is VALID [2018-11-23 12:15:32,676 INFO L273 TraceCheckUtils]: 5: Hoare triple {15869#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15869#true} is VALID [2018-11-23 12:15:32,676 INFO L273 TraceCheckUtils]: 6: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,676 INFO L273 TraceCheckUtils]: 7: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,676 INFO L273 TraceCheckUtils]: 8: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 9: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 10: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 11: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 12: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 13: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,677 INFO L273 TraceCheckUtils]: 14: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 15: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 16: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 17: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 18: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 19: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 20: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 21: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 22: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,678 INFO L273 TraceCheckUtils]: 23: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 24: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 25: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 26: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 27: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 28: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 29: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 30: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 31: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 32: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,679 INFO L273 TraceCheckUtils]: 33: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 34: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 35: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 36: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 37: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 38: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 39: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 40: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 41: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,680 INFO L273 TraceCheckUtils]: 42: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L273 TraceCheckUtils]: 43: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L273 TraceCheckUtils]: 44: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L273 TraceCheckUtils]: 45: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L273 TraceCheckUtils]: 46: Hoare triple {15869#true} assume !(~i~1 < 20); {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L256 TraceCheckUtils]: 47: Hoare triple {15869#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {15869#true} is VALID [2018-11-23 12:15:32,681 INFO L273 TraceCheckUtils]: 48: Hoare triple {15869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15871#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:32,682 INFO L273 TraceCheckUtils]: 49: Hoare triple {15871#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15871#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:32,682 INFO L273 TraceCheckUtils]: 50: Hoare triple {15871#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:32,682 INFO L273 TraceCheckUtils]: 51: Hoare triple {15872#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15872#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:32,683 INFO L273 TraceCheckUtils]: 52: Hoare triple {15872#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:32,683 INFO L273 TraceCheckUtils]: 53: Hoare triple {15873#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15873#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:32,684 INFO L273 TraceCheckUtils]: 54: Hoare triple {15873#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:32,684 INFO L273 TraceCheckUtils]: 55: Hoare triple {15874#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15874#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:32,685 INFO L273 TraceCheckUtils]: 56: Hoare triple {15874#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:32,685 INFO L273 TraceCheckUtils]: 57: Hoare triple {15875#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15875#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:32,685 INFO L273 TraceCheckUtils]: 58: Hoare triple {15875#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:32,686 INFO L273 TraceCheckUtils]: 59: Hoare triple {15876#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15876#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:32,687 INFO L273 TraceCheckUtils]: 60: Hoare triple {15876#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:32,687 INFO L273 TraceCheckUtils]: 61: Hoare triple {15877#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15877#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:32,688 INFO L273 TraceCheckUtils]: 62: Hoare triple {15877#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:32,688 INFO L273 TraceCheckUtils]: 63: Hoare triple {15878#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15878#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:32,689 INFO L273 TraceCheckUtils]: 64: Hoare triple {15878#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:32,690 INFO L273 TraceCheckUtils]: 65: Hoare triple {15879#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15879#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:32,690 INFO L273 TraceCheckUtils]: 66: Hoare triple {15879#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:32,691 INFO L273 TraceCheckUtils]: 67: Hoare triple {15880#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15880#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:32,692 INFO L273 TraceCheckUtils]: 68: Hoare triple {15880#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15881#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:32,692 INFO L273 TraceCheckUtils]: 69: Hoare triple {15881#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15881#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:32,693 INFO L273 TraceCheckUtils]: 70: Hoare triple {15881#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15882#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:32,694 INFO L273 TraceCheckUtils]: 71: Hoare triple {15882#(<= avg_~i~0 11)} assume !(~i~0 < 20); {15870#false} is VALID [2018-11-23 12:15:32,694 INFO L273 TraceCheckUtils]: 72: Hoare triple {15870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15870#false} is VALID [2018-11-23 12:15:32,694 INFO L273 TraceCheckUtils]: 73: Hoare triple {15870#false} assume true; {15870#false} is VALID [2018-11-23 12:15:32,694 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {15870#false} {15869#true} #70#return; {15870#false} is VALID [2018-11-23 12:15:32,694 INFO L273 TraceCheckUtils]: 75: Hoare triple {15870#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {15870#false} is VALID [2018-11-23 12:15:32,695 INFO L256 TraceCheckUtils]: 76: Hoare triple {15870#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {15869#true} is VALID [2018-11-23 12:15:32,695 INFO L273 TraceCheckUtils]: 77: Hoare triple {15869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15869#true} is VALID [2018-11-23 12:15:32,695 INFO L273 TraceCheckUtils]: 78: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,695 INFO L273 TraceCheckUtils]: 79: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,695 INFO L273 TraceCheckUtils]: 80: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,696 INFO L273 TraceCheckUtils]: 81: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,696 INFO L273 TraceCheckUtils]: 82: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,696 INFO L273 TraceCheckUtils]: 83: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,697 INFO L273 TraceCheckUtils]: 84: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,697 INFO L273 TraceCheckUtils]: 85: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,697 INFO L273 TraceCheckUtils]: 86: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,697 INFO L273 TraceCheckUtils]: 87: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 88: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 89: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 90: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 91: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 92: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 93: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,698 INFO L273 TraceCheckUtils]: 94: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 95: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 96: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 97: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 98: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 99: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 100: Hoare triple {15869#true} assume !(~i~0 < 20); {15869#true} is VALID [2018-11-23 12:15:32,699 INFO L273 TraceCheckUtils]: 101: Hoare triple {15869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15869#true} is VALID [2018-11-23 12:15:32,700 INFO L273 TraceCheckUtils]: 102: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:32,700 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {15869#true} {15870#false} #72#return; {15870#false} is VALID [2018-11-23 12:15:32,700 INFO L273 TraceCheckUtils]: 104: Hoare triple {15870#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {15870#false} is VALID [2018-11-23 12:15:32,700 INFO L273 TraceCheckUtils]: 105: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,700 INFO L273 TraceCheckUtils]: 106: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,700 INFO L273 TraceCheckUtils]: 107: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 108: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 109: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 110: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 111: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 112: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 113: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,701 INFO L273 TraceCheckUtils]: 114: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 115: Hoare triple {15870#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {15870#false} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 116: Hoare triple {15870#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {15870#false} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 117: Hoare triple {15870#false} assume !(~i~2 < 19); {15870#false} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 118: Hoare triple {15870#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {15870#false} is VALID [2018-11-23 12:15:32,702 INFO L256 TraceCheckUtils]: 119: Hoare triple {15870#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {15869#true} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 120: Hoare triple {15869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15869#true} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 121: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,702 INFO L273 TraceCheckUtils]: 122: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 123: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 124: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 125: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 126: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 127: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 128: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 129: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 130: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,703 INFO L273 TraceCheckUtils]: 131: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 132: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 133: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 134: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 135: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 136: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 137: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 138: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 139: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 140: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,704 INFO L273 TraceCheckUtils]: 141: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 142: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 143: Hoare triple {15869#true} assume !(~i~0 < 20); {15869#true} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 144: Hoare triple {15869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15869#true} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 145: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:32,705 INFO L268 TraceCheckUtils]: 146: Hoare quadruple {15869#true} {15870#false} #74#return; {15870#false} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 147: Hoare triple {15870#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {15870#false} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 148: Hoare triple {15870#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15870#false} is VALID [2018-11-23 12:15:32,705 INFO L273 TraceCheckUtils]: 149: Hoare triple {15870#false} assume !false; {15870#false} is VALID [2018-11-23 12:15:32,714 INFO L134 CoverageAnalysis]: Checked inductivity of 1606 backedges. 0 proven. 657 refuted. 0 times theorem prover too weak. 949 trivial. 0 not checked. [2018-11-23 12:15:32,714 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:32,714 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:32,723 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:15:33,222 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2018-11-23 12:15:33,223 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:33,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:33,255 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:33,494 INFO L256 TraceCheckUtils]: 0: Hoare triple {15869#true} call ULTIMATE.init(); {15869#true} is VALID [2018-11-23 12:15:33,495 INFO L273 TraceCheckUtils]: 1: Hoare triple {15869#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {15869#true} is VALID [2018-11-23 12:15:33,495 INFO L273 TraceCheckUtils]: 2: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:33,495 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {15869#true} {15869#true} #66#return; {15869#true} is VALID [2018-11-23 12:15:33,495 INFO L256 TraceCheckUtils]: 4: Hoare triple {15869#true} call #t~ret12 := main(); {15869#true} is VALID [2018-11-23 12:15:33,496 INFO L273 TraceCheckUtils]: 5: Hoare triple {15869#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {15869#true} is VALID [2018-11-23 12:15:33,496 INFO L273 TraceCheckUtils]: 6: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,496 INFO L273 TraceCheckUtils]: 7: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,496 INFO L273 TraceCheckUtils]: 8: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,496 INFO L273 TraceCheckUtils]: 9: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,497 INFO L273 TraceCheckUtils]: 10: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,497 INFO L273 TraceCheckUtils]: 11: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,497 INFO L273 TraceCheckUtils]: 12: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,497 INFO L273 TraceCheckUtils]: 13: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,497 INFO L273 TraceCheckUtils]: 14: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 15: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 16: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 17: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 18: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 19: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 20: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 21: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 22: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,498 INFO L273 TraceCheckUtils]: 23: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 24: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 25: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 26: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 27: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 28: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 29: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 30: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 31: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,499 INFO L273 TraceCheckUtils]: 32: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 33: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 34: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 35: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 36: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 37: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 38: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 39: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 40: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,500 INFO L273 TraceCheckUtils]: 41: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 42: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 43: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 44: Hoare triple {15869#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 45: Hoare triple {15869#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 46: Hoare triple {15869#true} assume !(~i~1 < 20); {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L256 TraceCheckUtils]: 47: Hoare triple {15869#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 48: Hoare triple {15869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 49: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,501 INFO L273 TraceCheckUtils]: 50: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 51: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 52: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 53: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 54: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 55: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 56: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 57: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 58: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,502 INFO L273 TraceCheckUtils]: 59: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 60: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 61: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 62: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 63: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 64: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 65: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 66: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 67: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 68: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,503 INFO L273 TraceCheckUtils]: 69: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L273 TraceCheckUtils]: 70: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L273 TraceCheckUtils]: 71: Hoare triple {15869#true} assume !(~i~0 < 20); {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L273 TraceCheckUtils]: 72: Hoare triple {15869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L273 TraceCheckUtils]: 73: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {15869#true} {15869#true} #70#return; {15869#true} is VALID [2018-11-23 12:15:33,504 INFO L273 TraceCheckUtils]: 75: Hoare triple {15869#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L256 TraceCheckUtils]: 76: Hoare triple {15869#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 77: Hoare triple {15869#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 78: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 79: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 80: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 81: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,505 INFO L273 TraceCheckUtils]: 82: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 83: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 84: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 85: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 86: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 87: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 88: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 89: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 90: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 91: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,506 INFO L273 TraceCheckUtils]: 92: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 93: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 94: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 95: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 96: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 97: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 98: Hoare triple {15869#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 99: Hoare triple {15869#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 100: Hoare triple {15869#true} assume !(~i~0 < 20); {15869#true} is VALID [2018-11-23 12:15:33,507 INFO L273 TraceCheckUtils]: 101: Hoare triple {15869#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15869#true} is VALID [2018-11-23 12:15:33,508 INFO L273 TraceCheckUtils]: 102: Hoare triple {15869#true} assume true; {15869#true} is VALID [2018-11-23 12:15:33,508 INFO L268 TraceCheckUtils]: 103: Hoare quadruple {15869#true} {15869#true} #72#return; {15869#true} is VALID [2018-11-23 12:15:33,508 INFO L273 TraceCheckUtils]: 104: Hoare triple {15869#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {16198#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:33,509 INFO L273 TraceCheckUtils]: 105: Hoare triple {16198#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16198#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:33,509 INFO L273 TraceCheckUtils]: 106: Hoare triple {16198#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16205#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:33,510 INFO L273 TraceCheckUtils]: 107: Hoare triple {16205#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16205#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:33,510 INFO L273 TraceCheckUtils]: 108: Hoare triple {16205#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16212#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:33,510 INFO L273 TraceCheckUtils]: 109: Hoare triple {16212#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16212#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:33,511 INFO L273 TraceCheckUtils]: 110: Hoare triple {16212#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16219#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:33,511 INFO L273 TraceCheckUtils]: 111: Hoare triple {16219#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16219#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:33,512 INFO L273 TraceCheckUtils]: 112: Hoare triple {16219#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16226#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:33,512 INFO L273 TraceCheckUtils]: 113: Hoare triple {16226#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16226#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:33,513 INFO L273 TraceCheckUtils]: 114: Hoare triple {16226#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16233#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:33,513 INFO L273 TraceCheckUtils]: 115: Hoare triple {16233#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16233#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:33,514 INFO L273 TraceCheckUtils]: 116: Hoare triple {16233#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16240#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:33,515 INFO L273 TraceCheckUtils]: 117: Hoare triple {16240#(<= main_~i~2 6)} assume !(~i~2 < 19); {15870#false} is VALID [2018-11-23 12:15:33,515 INFO L273 TraceCheckUtils]: 118: Hoare triple {15870#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {15870#false} is VALID [2018-11-23 12:15:33,515 INFO L256 TraceCheckUtils]: 119: Hoare triple {15870#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {15870#false} is VALID [2018-11-23 12:15:33,515 INFO L273 TraceCheckUtils]: 120: Hoare triple {15870#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {15870#false} is VALID [2018-11-23 12:15:33,515 INFO L273 TraceCheckUtils]: 121: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,516 INFO L273 TraceCheckUtils]: 122: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,516 INFO L273 TraceCheckUtils]: 123: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,516 INFO L273 TraceCheckUtils]: 124: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,516 INFO L273 TraceCheckUtils]: 125: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,516 INFO L273 TraceCheckUtils]: 126: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 127: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 128: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 129: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 130: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 131: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,517 INFO L273 TraceCheckUtils]: 132: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,518 INFO L273 TraceCheckUtils]: 133: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,518 INFO L273 TraceCheckUtils]: 134: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,518 INFO L273 TraceCheckUtils]: 135: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,518 INFO L273 TraceCheckUtils]: 136: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,518 INFO L273 TraceCheckUtils]: 137: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 138: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 139: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 140: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 141: Hoare triple {15870#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 142: Hoare triple {15870#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {15870#false} is VALID [2018-11-23 12:15:33,519 INFO L273 TraceCheckUtils]: 143: Hoare triple {15870#false} assume !(~i~0 < 20); {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L273 TraceCheckUtils]: 144: Hoare triple {15870#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L273 TraceCheckUtils]: 145: Hoare triple {15870#false} assume true; {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L268 TraceCheckUtils]: 146: Hoare quadruple {15870#false} {15870#false} #74#return; {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L273 TraceCheckUtils]: 147: Hoare triple {15870#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L273 TraceCheckUtils]: 148: Hoare triple {15870#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {15870#false} is VALID [2018-11-23 12:15:33,520 INFO L273 TraceCheckUtils]: 149: Hoare triple {15870#false} assume !false; {15870#false} is VALID [2018-11-23 12:15:33,531 INFO L134 CoverageAnalysis]: Checked inductivity of 1606 backedges. 538 proven. 36 refuted. 0 times theorem prover too weak. 1032 trivial. 0 not checked. [2018-11-23 12:15:33,555 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:33,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 21 [2018-11-23 12:15:33,556 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 150 [2018-11-23 12:15:33,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:33,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:15:33,644 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:15:33,644 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:15:33,644 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:15:33,645 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=294, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:15:33,645 INFO L87 Difference]: Start difference. First operand 97 states and 101 transitions. Second operand 21 states. [2018-11-23 12:15:34,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:34,137 INFO L93 Difference]: Finished difference Result 152 states and 163 transitions. [2018-11-23 12:15:34,138 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:15:34,138 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 150 [2018-11-23 12:15:34,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:34,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:15:34,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2018-11-23 12:15:34,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:15:34,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2018-11-23 12:15:34,140 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 92 transitions. [2018-11-23 12:15:34,241 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:34,243 INFO L225 Difference]: With dead ends: 152 [2018-11-23 12:15:34,244 INFO L226 Difference]: Without dead ends: 103 [2018-11-23 12:15:34,244 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 144 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=126, Invalid=294, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:15:34,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2018-11-23 12:15:34,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 101. [2018-11-23 12:15:34,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:34,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 101 states. [2018-11-23 12:15:34,298 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 101 states. [2018-11-23 12:15:34,298 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 101 states. [2018-11-23 12:15:34,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:34,300 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2018-11-23 12:15:34,300 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2018-11-23 12:15:34,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:34,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:34,301 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 103 states. [2018-11-23 12:15:34,301 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 103 states. [2018-11-23 12:15:34,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:34,303 INFO L93 Difference]: Finished difference Result 103 states and 107 transitions. [2018-11-23 12:15:34,303 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2018-11-23 12:15:34,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:34,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:34,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:34,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:34,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-11-23 12:15:34,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 105 transitions. [2018-11-23 12:15:34,306 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 105 transitions. Word has length 150 [2018-11-23 12:15:34,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:34,307 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 105 transitions. [2018-11-23 12:15:34,307 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:15:34,307 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 105 transitions. [2018-11-23 12:15:34,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 159 [2018-11-23 12:15:34,308 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:34,308 INFO L402 BasicCegarLoop]: trace histogram [36, 36, 20, 20, 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] [2018-11-23 12:15:34,308 INFO L423 AbstractCegarLoop]: === Iteration 29 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:34,308 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:34,309 INFO L82 PathProgramCache]: Analyzing trace with hash 243644301, now seen corresponding path program 25 times [2018-11-23 12:15:34,309 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:34,309 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:34,309 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:34,310 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:34,310 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:34,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:34,756 INFO L256 TraceCheckUtils]: 0: Hoare triple {16920#true} call ULTIMATE.init(); {16920#true} is VALID [2018-11-23 12:15:34,757 INFO L273 TraceCheckUtils]: 1: Hoare triple {16920#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16920#true} is VALID [2018-11-23 12:15:34,757 INFO L273 TraceCheckUtils]: 2: Hoare triple {16920#true} assume true; {16920#true} is VALID [2018-11-23 12:15:34,757 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16920#true} {16920#true} #66#return; {16920#true} is VALID [2018-11-23 12:15:34,757 INFO L256 TraceCheckUtils]: 4: Hoare triple {16920#true} call #t~ret12 := main(); {16920#true} is VALID [2018-11-23 12:15:34,757 INFO L273 TraceCheckUtils]: 5: Hoare triple {16920#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 6: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 7: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 8: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 9: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 10: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,758 INFO L273 TraceCheckUtils]: 11: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 12: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 13: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 14: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 15: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 16: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,759 INFO L273 TraceCheckUtils]: 17: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 18: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 19: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 20: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 21: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 22: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 23: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 24: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 25: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,760 INFO L273 TraceCheckUtils]: 26: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 27: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 28: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 29: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 30: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 31: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 32: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 33: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 34: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,761 INFO L273 TraceCheckUtils]: 35: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 36: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 37: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 38: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 39: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 40: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 41: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 42: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 43: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 44: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:34,762 INFO L273 TraceCheckUtils]: 45: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:34,763 INFO L273 TraceCheckUtils]: 46: Hoare triple {16920#true} assume !(~i~1 < 20); {16920#true} is VALID [2018-11-23 12:15:34,763 INFO L256 TraceCheckUtils]: 47: Hoare triple {16920#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {16920#true} is VALID [2018-11-23 12:15:34,763 INFO L273 TraceCheckUtils]: 48: Hoare triple {16920#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {16922#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:34,763 INFO L273 TraceCheckUtils]: 49: Hoare triple {16922#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16922#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:34,764 INFO L273 TraceCheckUtils]: 50: Hoare triple {16922#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16923#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:34,764 INFO L273 TraceCheckUtils]: 51: Hoare triple {16923#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16923#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:34,765 INFO L273 TraceCheckUtils]: 52: Hoare triple {16923#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16924#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:34,765 INFO L273 TraceCheckUtils]: 53: Hoare triple {16924#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16924#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:34,765 INFO L273 TraceCheckUtils]: 54: Hoare triple {16924#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16925#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:34,766 INFO L273 TraceCheckUtils]: 55: Hoare triple {16925#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16925#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:34,766 INFO L273 TraceCheckUtils]: 56: Hoare triple {16925#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16926#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:34,767 INFO L273 TraceCheckUtils]: 57: Hoare triple {16926#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16926#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:34,767 INFO L273 TraceCheckUtils]: 58: Hoare triple {16926#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16927#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:34,768 INFO L273 TraceCheckUtils]: 59: Hoare triple {16927#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16927#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:34,769 INFO L273 TraceCheckUtils]: 60: Hoare triple {16927#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16928#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:34,769 INFO L273 TraceCheckUtils]: 61: Hoare triple {16928#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16928#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:34,770 INFO L273 TraceCheckUtils]: 62: Hoare triple {16928#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16929#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:34,771 INFO L273 TraceCheckUtils]: 63: Hoare triple {16929#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16929#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:34,771 INFO L273 TraceCheckUtils]: 64: Hoare triple {16929#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16930#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:34,772 INFO L273 TraceCheckUtils]: 65: Hoare triple {16930#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16930#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:34,773 INFO L273 TraceCheckUtils]: 66: Hoare triple {16930#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16931#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:34,773 INFO L273 TraceCheckUtils]: 67: Hoare triple {16931#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16931#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:34,774 INFO L273 TraceCheckUtils]: 68: Hoare triple {16931#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16932#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:34,774 INFO L273 TraceCheckUtils]: 69: Hoare triple {16932#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16932#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:34,775 INFO L273 TraceCheckUtils]: 70: Hoare triple {16932#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16933#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:34,776 INFO L273 TraceCheckUtils]: 71: Hoare triple {16933#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16933#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:34,776 INFO L273 TraceCheckUtils]: 72: Hoare triple {16933#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16934#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:34,777 INFO L273 TraceCheckUtils]: 73: Hoare triple {16934#(<= avg_~i~0 12)} assume !(~i~0 < 20); {16921#false} is VALID [2018-11-23 12:15:34,777 INFO L273 TraceCheckUtils]: 74: Hoare triple {16921#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16921#false} is VALID [2018-11-23 12:15:34,778 INFO L273 TraceCheckUtils]: 75: Hoare triple {16921#false} assume true; {16921#false} is VALID [2018-11-23 12:15:34,778 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {16921#false} {16920#true} #70#return; {16921#false} is VALID [2018-11-23 12:15:34,778 INFO L273 TraceCheckUtils]: 77: Hoare triple {16921#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {16921#false} is VALID [2018-11-23 12:15:34,778 INFO L256 TraceCheckUtils]: 78: Hoare triple {16921#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {16920#true} is VALID [2018-11-23 12:15:34,778 INFO L273 TraceCheckUtils]: 79: Hoare triple {16920#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {16920#true} is VALID [2018-11-23 12:15:34,778 INFO L273 TraceCheckUtils]: 80: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,779 INFO L273 TraceCheckUtils]: 81: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,779 INFO L273 TraceCheckUtils]: 82: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,779 INFO L273 TraceCheckUtils]: 83: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,779 INFO L273 TraceCheckUtils]: 84: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,779 INFO L273 TraceCheckUtils]: 85: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 86: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 87: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 88: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 89: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 90: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,780 INFO L273 TraceCheckUtils]: 91: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 92: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 93: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 94: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 95: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 96: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,781 INFO L273 TraceCheckUtils]: 97: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 98: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 99: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 100: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 101: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 102: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 103: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 104: Hoare triple {16920#true} assume !(~i~0 < 20); {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 105: Hoare triple {16920#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16920#true} is VALID [2018-11-23 12:15:34,782 INFO L273 TraceCheckUtils]: 106: Hoare triple {16920#true} assume true; {16920#true} is VALID [2018-11-23 12:15:34,783 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {16920#true} {16921#false} #72#return; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 108: Hoare triple {16921#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 109: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 110: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 111: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 112: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 113: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 114: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,783 INFO L273 TraceCheckUtils]: 115: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 116: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 117: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 118: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 119: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 120: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 121: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 122: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 123: Hoare triple {16921#false} assume !(~i~2 < 19); {16921#false} is VALID [2018-11-23 12:15:34,784 INFO L273 TraceCheckUtils]: 124: Hoare triple {16921#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {16921#false} is VALID [2018-11-23 12:15:34,785 INFO L256 TraceCheckUtils]: 125: Hoare triple {16921#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 126: Hoare triple {16920#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 127: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 128: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 129: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 130: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 131: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 132: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 133: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,785 INFO L273 TraceCheckUtils]: 134: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 135: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 136: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 137: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 138: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 139: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 140: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 141: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 142: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,786 INFO L273 TraceCheckUtils]: 143: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 144: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 145: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 146: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 147: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 148: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 149: Hoare triple {16920#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 150: Hoare triple {16920#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 151: Hoare triple {16920#true} assume !(~i~0 < 20); {16920#true} is VALID [2018-11-23 12:15:34,787 INFO L273 TraceCheckUtils]: 152: Hoare triple {16920#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16920#true} is VALID [2018-11-23 12:15:34,788 INFO L273 TraceCheckUtils]: 153: Hoare triple {16920#true} assume true; {16920#true} is VALID [2018-11-23 12:15:34,788 INFO L268 TraceCheckUtils]: 154: Hoare quadruple {16920#true} {16921#false} #74#return; {16921#false} is VALID [2018-11-23 12:15:34,788 INFO L273 TraceCheckUtils]: 155: Hoare triple {16921#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {16921#false} is VALID [2018-11-23 12:15:34,788 INFO L273 TraceCheckUtils]: 156: Hoare triple {16921#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16921#false} is VALID [2018-11-23 12:15:34,788 INFO L273 TraceCheckUtils]: 157: Hoare triple {16921#false} assume !false; {16921#false} is VALID [2018-11-23 12:15:34,798 INFO L134 CoverageAnalysis]: Checked inductivity of 1832 backedges. 0 proven. 776 refuted. 0 times theorem prover too weak. 1056 trivial. 0 not checked. [2018-11-23 12:15:34,798 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:34,798 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:34,806 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:34,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:34,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:34,918 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:35,099 INFO L256 TraceCheckUtils]: 0: Hoare triple {16920#true} call ULTIMATE.init(); {16920#true} is VALID [2018-11-23 12:15:35,099 INFO L273 TraceCheckUtils]: 1: Hoare triple {16920#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {16920#true} is VALID [2018-11-23 12:15:35,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {16920#true} assume true; {16920#true} is VALID [2018-11-23 12:15:35,099 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16920#true} {16920#true} #66#return; {16920#true} is VALID [2018-11-23 12:15:35,100 INFO L256 TraceCheckUtils]: 4: Hoare triple {16920#true} call #t~ret12 := main(); {16920#true} is VALID [2018-11-23 12:15:35,100 INFO L273 TraceCheckUtils]: 5: Hoare triple {16920#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {16920#true} is VALID [2018-11-23 12:15:35,100 INFO L273 TraceCheckUtils]: 6: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,100 INFO L273 TraceCheckUtils]: 7: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,100 INFO L273 TraceCheckUtils]: 8: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 9: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 10: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 11: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 12: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 13: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 14: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 15: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,101 INFO L273 TraceCheckUtils]: 16: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 17: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 18: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 19: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 20: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 21: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 22: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 23: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 24: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,102 INFO L273 TraceCheckUtils]: 25: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 26: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 27: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 28: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 29: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 30: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 31: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 32: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 33: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 34: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,103 INFO L273 TraceCheckUtils]: 35: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 36: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 37: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 38: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 39: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 40: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 41: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 42: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 43: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,104 INFO L273 TraceCheckUtils]: 44: Hoare triple {16920#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {16920#true} is VALID [2018-11-23 12:15:35,105 INFO L273 TraceCheckUtils]: 45: Hoare triple {16920#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {16920#true} is VALID [2018-11-23 12:15:35,105 INFO L273 TraceCheckUtils]: 46: Hoare triple {16920#true} assume !(~i~1 < 20); {16920#true} is VALID [2018-11-23 12:15:35,105 INFO L256 TraceCheckUtils]: 47: Hoare triple {16920#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {16920#true} is VALID [2018-11-23 12:15:35,105 INFO L273 TraceCheckUtils]: 48: Hoare triple {16920#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {17082#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:35,106 INFO L273 TraceCheckUtils]: 49: Hoare triple {17082#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {17082#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:35,106 INFO L273 TraceCheckUtils]: 50: Hoare triple {17082#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16923#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:35,107 INFO L273 TraceCheckUtils]: 51: Hoare triple {16923#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16923#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:35,107 INFO L273 TraceCheckUtils]: 52: Hoare triple {16923#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16924#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:35,107 INFO L273 TraceCheckUtils]: 53: Hoare triple {16924#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16924#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:35,108 INFO L273 TraceCheckUtils]: 54: Hoare triple {16924#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16925#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:35,108 INFO L273 TraceCheckUtils]: 55: Hoare triple {16925#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16925#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:35,109 INFO L273 TraceCheckUtils]: 56: Hoare triple {16925#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16926#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:35,110 INFO L273 TraceCheckUtils]: 57: Hoare triple {16926#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16926#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:35,110 INFO L273 TraceCheckUtils]: 58: Hoare triple {16926#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16927#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:35,111 INFO L273 TraceCheckUtils]: 59: Hoare triple {16927#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16927#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:35,112 INFO L273 TraceCheckUtils]: 60: Hoare triple {16927#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16928#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:35,112 INFO L273 TraceCheckUtils]: 61: Hoare triple {16928#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16928#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:35,113 INFO L273 TraceCheckUtils]: 62: Hoare triple {16928#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16929#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:35,113 INFO L273 TraceCheckUtils]: 63: Hoare triple {16929#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16929#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:35,114 INFO L273 TraceCheckUtils]: 64: Hoare triple {16929#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16930#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:35,115 INFO L273 TraceCheckUtils]: 65: Hoare triple {16930#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16930#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:35,115 INFO L273 TraceCheckUtils]: 66: Hoare triple {16930#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16931#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:35,116 INFO L273 TraceCheckUtils]: 67: Hoare triple {16931#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16931#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:35,117 INFO L273 TraceCheckUtils]: 68: Hoare triple {16931#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16932#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:35,117 INFO L273 TraceCheckUtils]: 69: Hoare triple {16932#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16932#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:35,118 INFO L273 TraceCheckUtils]: 70: Hoare triple {16932#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16933#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:35,118 INFO L273 TraceCheckUtils]: 71: Hoare triple {16933#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16933#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:35,119 INFO L273 TraceCheckUtils]: 72: Hoare triple {16933#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16934#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:35,120 INFO L273 TraceCheckUtils]: 73: Hoare triple {16934#(<= avg_~i~0 12)} assume !(~i~0 < 20); {16921#false} is VALID [2018-11-23 12:15:35,120 INFO L273 TraceCheckUtils]: 74: Hoare triple {16921#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16921#false} is VALID [2018-11-23 12:15:35,120 INFO L273 TraceCheckUtils]: 75: Hoare triple {16921#false} assume true; {16921#false} is VALID [2018-11-23 12:15:35,120 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {16921#false} {16920#true} #70#return; {16921#false} is VALID [2018-11-23 12:15:35,121 INFO L273 TraceCheckUtils]: 77: Hoare triple {16921#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {16921#false} is VALID [2018-11-23 12:15:35,121 INFO L256 TraceCheckUtils]: 78: Hoare triple {16921#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {16921#false} is VALID [2018-11-23 12:15:35,121 INFO L273 TraceCheckUtils]: 79: Hoare triple {16921#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {16921#false} is VALID [2018-11-23 12:15:35,121 INFO L273 TraceCheckUtils]: 80: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,121 INFO L273 TraceCheckUtils]: 81: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 82: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 83: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 84: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 85: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 86: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,122 INFO L273 TraceCheckUtils]: 87: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 88: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 89: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 90: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 91: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 92: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 93: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,123 INFO L273 TraceCheckUtils]: 94: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 95: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 96: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 97: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 98: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 99: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 100: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 101: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 102: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 103: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,124 INFO L273 TraceCheckUtils]: 104: Hoare triple {16921#false} assume !(~i~0 < 20); {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 105: Hoare triple {16921#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 106: Hoare triple {16921#false} assume true; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {16921#false} {16921#false} #72#return; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 108: Hoare triple {16921#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 109: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 110: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 111: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 112: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,125 INFO L273 TraceCheckUtils]: 113: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 114: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 115: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 116: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 117: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 118: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 119: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 120: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 121: Hoare triple {16921#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {16921#false} is VALID [2018-11-23 12:15:35,126 INFO L273 TraceCheckUtils]: 122: Hoare triple {16921#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 123: Hoare triple {16921#false} assume !(~i~2 < 19); {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 124: Hoare triple {16921#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L256 TraceCheckUtils]: 125: Hoare triple {16921#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 126: Hoare triple {16921#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 127: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 128: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 129: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 130: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,127 INFO L273 TraceCheckUtils]: 131: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 132: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 133: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 134: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 135: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 136: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 137: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 138: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 139: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,128 INFO L273 TraceCheckUtils]: 140: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 141: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 142: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 143: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 144: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 145: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 146: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 147: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 148: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 149: Hoare triple {16921#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {16921#false} is VALID [2018-11-23 12:15:35,129 INFO L273 TraceCheckUtils]: 150: Hoare triple {16921#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 151: Hoare triple {16921#false} assume !(~i~0 < 20); {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 152: Hoare triple {16921#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 153: Hoare triple {16921#false} assume true; {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L268 TraceCheckUtils]: 154: Hoare quadruple {16921#false} {16921#false} #74#return; {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 155: Hoare triple {16921#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 156: Hoare triple {16921#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {16921#false} is VALID [2018-11-23 12:15:35,130 INFO L273 TraceCheckUtils]: 157: Hoare triple {16921#false} assume !false; {16921#false} is VALID [2018-11-23 12:15:35,141 INFO L134 CoverageAnalysis]: Checked inductivity of 1832 backedges. 628 proven. 144 refuted. 0 times theorem prover too weak. 1060 trivial. 0 not checked. [2018-11-23 12:15:35,160 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:35,161 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 12:15:35,161 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 158 [2018-11-23 12:15:35,162 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:35,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:15:35,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:35,232 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:15:35,233 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:15:35,233 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:15:35,233 INFO L87 Difference]: Start difference. First operand 101 states and 105 transitions. Second operand 16 states. [2018-11-23 12:15:35,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:35,523 INFO L93 Difference]: Finished difference Result 157 states and 167 transitions. [2018-11-23 12:15:35,523 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:15:35,523 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 158 [2018-11-23 12:15:35,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:35,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:15:35,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 79 transitions. [2018-11-23 12:15:35,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:15:35,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 79 transitions. [2018-11-23 12:15:35,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 79 transitions. [2018-11-23 12:15:35,601 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:35,604 INFO L225 Difference]: With dead ends: 157 [2018-11-23 12:15:35,604 INFO L226 Difference]: Without dead ends: 104 [2018-11-23 12:15:35,605 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 158 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:15:35,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2018-11-23 12:15:35,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 103. [2018-11-23 12:15:35,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:35,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 103 states. [2018-11-23 12:15:35,652 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 103 states. [2018-11-23 12:15:35,652 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 103 states. [2018-11-23 12:15:35,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:35,654 INFO L93 Difference]: Finished difference Result 104 states and 108 transitions. [2018-11-23 12:15:35,654 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 108 transitions. [2018-11-23 12:15:35,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:35,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:35,655 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 104 states. [2018-11-23 12:15:35,655 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 104 states. [2018-11-23 12:15:35,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:35,657 INFO L93 Difference]: Finished difference Result 104 states and 108 transitions. [2018-11-23 12:15:35,657 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 108 transitions. [2018-11-23 12:15:35,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:35,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:35,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:35,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:35,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-11-23 12:15:35,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 107 transitions. [2018-11-23 12:15:35,660 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 107 transitions. Word has length 158 [2018-11-23 12:15:35,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:35,660 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 107 transitions. [2018-11-23 12:15:35,661 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:15:35,661 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 107 transitions. [2018-11-23 12:15:35,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 165 [2018-11-23 12:15:35,662 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:35,662 INFO L402 BasicCegarLoop]: trace histogram [39, 39, 20, 20, 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] [2018-11-23 12:15:35,662 INFO L423 AbstractCegarLoop]: === Iteration 30 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:35,663 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:35,663 INFO L82 PathProgramCache]: Analyzing trace with hash 650435211, now seen corresponding path program 26 times [2018-11-23 12:15:35,663 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:35,663 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:35,664 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:35,664 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:35,664 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:35,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:36,132 INFO L256 TraceCheckUtils]: 0: Hoare triple {18003#true} call ULTIMATE.init(); {18003#true} is VALID [2018-11-23 12:15:36,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {18003#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18003#true} is VALID [2018-11-23 12:15:36,132 INFO L273 TraceCheckUtils]: 2: Hoare triple {18003#true} assume true; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18003#true} {18003#true} #66#return; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L256 TraceCheckUtils]: 4: Hoare triple {18003#true} call #t~ret12 := main(); {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 5: Hoare triple {18003#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 6: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 7: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 8: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 9: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 10: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,133 INFO L273 TraceCheckUtils]: 11: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 12: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 13: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 14: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 15: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 16: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 17: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 18: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 19: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,134 INFO L273 TraceCheckUtils]: 20: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 21: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 22: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 23: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 24: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 25: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 26: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 27: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 28: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,135 INFO L273 TraceCheckUtils]: 29: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 30: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 31: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 32: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 33: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 34: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 35: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 36: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 37: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,136 INFO L273 TraceCheckUtils]: 38: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 39: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 40: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 41: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 42: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 43: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 44: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 45: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L273 TraceCheckUtils]: 46: Hoare triple {18003#true} assume !(~i~1 < 20); {18003#true} is VALID [2018-11-23 12:15:36,137 INFO L256 TraceCheckUtils]: 47: Hoare triple {18003#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {18003#true} is VALID [2018-11-23 12:15:36,139 INFO L273 TraceCheckUtils]: 48: Hoare triple {18003#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18005#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:36,141 INFO L273 TraceCheckUtils]: 49: Hoare triple {18005#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18005#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:36,141 INFO L273 TraceCheckUtils]: 50: Hoare triple {18005#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18006#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:36,143 INFO L273 TraceCheckUtils]: 51: Hoare triple {18006#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18006#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:36,144 INFO L273 TraceCheckUtils]: 52: Hoare triple {18006#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18007#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:36,145 INFO L273 TraceCheckUtils]: 53: Hoare triple {18007#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18007#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:36,145 INFO L273 TraceCheckUtils]: 54: Hoare triple {18007#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18008#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:36,147 INFO L273 TraceCheckUtils]: 55: Hoare triple {18008#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18008#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:36,147 INFO L273 TraceCheckUtils]: 56: Hoare triple {18008#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18009#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:36,150 INFO L273 TraceCheckUtils]: 57: Hoare triple {18009#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18009#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:36,150 INFO L273 TraceCheckUtils]: 58: Hoare triple {18009#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18010#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:36,152 INFO L273 TraceCheckUtils]: 59: Hoare triple {18010#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18010#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:36,152 INFO L273 TraceCheckUtils]: 60: Hoare triple {18010#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18011#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:36,154 INFO L273 TraceCheckUtils]: 61: Hoare triple {18011#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18011#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:36,154 INFO L273 TraceCheckUtils]: 62: Hoare triple {18011#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18012#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:36,156 INFO L273 TraceCheckUtils]: 63: Hoare triple {18012#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18012#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:36,156 INFO L273 TraceCheckUtils]: 64: Hoare triple {18012#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18013#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:36,158 INFO L273 TraceCheckUtils]: 65: Hoare triple {18013#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18013#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:36,158 INFO L273 TraceCheckUtils]: 66: Hoare triple {18013#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18014#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:36,161 INFO L273 TraceCheckUtils]: 67: Hoare triple {18014#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18014#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:36,161 INFO L273 TraceCheckUtils]: 68: Hoare triple {18014#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18015#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:36,163 INFO L273 TraceCheckUtils]: 69: Hoare triple {18015#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18015#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:36,163 INFO L273 TraceCheckUtils]: 70: Hoare triple {18015#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18016#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:36,166 INFO L273 TraceCheckUtils]: 71: Hoare triple {18016#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18016#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:36,166 INFO L273 TraceCheckUtils]: 72: Hoare triple {18016#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18017#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:36,168 INFO L273 TraceCheckUtils]: 73: Hoare triple {18017#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18017#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:36,168 INFO L273 TraceCheckUtils]: 74: Hoare triple {18017#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18018#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:36,170 INFO L273 TraceCheckUtils]: 75: Hoare triple {18018#(<= avg_~i~0 13)} assume !(~i~0 < 20); {18004#false} is VALID [2018-11-23 12:15:36,170 INFO L273 TraceCheckUtils]: 76: Hoare triple {18004#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18004#false} is VALID [2018-11-23 12:15:36,170 INFO L273 TraceCheckUtils]: 77: Hoare triple {18004#false} assume true; {18004#false} is VALID [2018-11-23 12:15:36,170 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {18004#false} {18003#true} #70#return; {18004#false} is VALID [2018-11-23 12:15:36,170 INFO L273 TraceCheckUtils]: 79: Hoare triple {18004#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {18004#false} is VALID [2018-11-23 12:15:36,170 INFO L256 TraceCheckUtils]: 80: Hoare triple {18004#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {18003#true} is VALID [2018-11-23 12:15:36,170 INFO L273 TraceCheckUtils]: 81: Hoare triple {18003#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 82: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 83: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 84: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 85: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 86: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 87: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 88: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 89: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 90: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,171 INFO L273 TraceCheckUtils]: 91: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 92: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 93: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 94: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 95: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 96: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 97: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 98: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 99: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,172 INFO L273 TraceCheckUtils]: 100: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 101: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 102: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 103: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 104: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 105: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 106: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 107: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 108: Hoare triple {18003#true} assume !(~i~0 < 20); {18003#true} is VALID [2018-11-23 12:15:36,173 INFO L273 TraceCheckUtils]: 109: Hoare triple {18003#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18003#true} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 110: Hoare triple {18003#true} assume true; {18003#true} is VALID [2018-11-23 12:15:36,174 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {18003#true} {18004#false} #72#return; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 112: Hoare triple {18004#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 113: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 114: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 115: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 116: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 117: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,174 INFO L273 TraceCheckUtils]: 118: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 119: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 120: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 121: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 122: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 123: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 124: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 125: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 126: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,175 INFO L273 TraceCheckUtils]: 127: Hoare triple {18004#false} assume !(~i~2 < 19); {18004#false} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 128: Hoare triple {18004#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {18004#false} is VALID [2018-11-23 12:15:36,176 INFO L256 TraceCheckUtils]: 129: Hoare triple {18004#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 130: Hoare triple {18003#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 131: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 132: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 133: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 134: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 135: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,176 INFO L273 TraceCheckUtils]: 136: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 137: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 138: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 139: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 140: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 141: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 142: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 143: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 144: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 145: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,177 INFO L273 TraceCheckUtils]: 146: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 147: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 148: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 149: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 150: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 151: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 152: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 153: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 154: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,178 INFO L273 TraceCheckUtils]: 155: Hoare triple {18003#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18003#true} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 156: Hoare triple {18003#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18003#true} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 157: Hoare triple {18003#true} assume !(~i~0 < 20); {18003#true} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 158: Hoare triple {18003#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18003#true} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 159: Hoare triple {18003#true} assume true; {18003#true} is VALID [2018-11-23 12:15:36,179 INFO L268 TraceCheckUtils]: 160: Hoare quadruple {18003#true} {18004#false} #74#return; {18004#false} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 161: Hoare triple {18004#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {18004#false} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 162: Hoare triple {18004#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18004#false} is VALID [2018-11-23 12:15:36,179 INFO L273 TraceCheckUtils]: 163: Hoare triple {18004#false} assume !false; {18004#false} is VALID [2018-11-23 12:15:36,190 INFO L134 CoverageAnalysis]: Checked inductivity of 2063 backedges. 0 proven. 905 refuted. 0 times theorem prover too weak. 1158 trivial. 0 not checked. [2018-11-23 12:15:36,190 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:36,190 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:36,204 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:15:36,283 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:15:36,283 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:36,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:36,319 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:36,603 INFO L256 TraceCheckUtils]: 0: Hoare triple {18003#true} call ULTIMATE.init(); {18003#true} is VALID [2018-11-23 12:15:36,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {18003#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {18003#true} is VALID [2018-11-23 12:15:36,603 INFO L273 TraceCheckUtils]: 2: Hoare triple {18003#true} assume true; {18003#true} is VALID [2018-11-23 12:15:36,604 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {18003#true} {18003#true} #66#return; {18003#true} is VALID [2018-11-23 12:15:36,604 INFO L256 TraceCheckUtils]: 4: Hoare triple {18003#true} call #t~ret12 := main(); {18003#true} is VALID [2018-11-23 12:15:36,604 INFO L273 TraceCheckUtils]: 5: Hoare triple {18003#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {18003#true} is VALID [2018-11-23 12:15:36,604 INFO L273 TraceCheckUtils]: 6: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,604 INFO L273 TraceCheckUtils]: 7: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,605 INFO L273 TraceCheckUtils]: 8: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,605 INFO L273 TraceCheckUtils]: 9: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,605 INFO L273 TraceCheckUtils]: 10: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,605 INFO L273 TraceCheckUtils]: 11: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,605 INFO L273 TraceCheckUtils]: 12: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,606 INFO L273 TraceCheckUtils]: 13: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,606 INFO L273 TraceCheckUtils]: 14: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,606 INFO L273 TraceCheckUtils]: 15: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,606 INFO L273 TraceCheckUtils]: 16: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,606 INFO L273 TraceCheckUtils]: 17: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 18: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 19: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 20: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 21: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 22: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 23: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 24: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 25: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,607 INFO L273 TraceCheckUtils]: 26: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 27: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 28: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 29: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 30: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 31: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 32: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 33: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 34: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,608 INFO L273 TraceCheckUtils]: 35: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 36: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 37: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 38: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 39: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 40: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 41: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 42: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 43: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 44: Hoare triple {18003#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {18003#true} is VALID [2018-11-23 12:15:36,609 INFO L273 TraceCheckUtils]: 45: Hoare triple {18003#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {18003#true} is VALID [2018-11-23 12:15:36,610 INFO L273 TraceCheckUtils]: 46: Hoare triple {18003#true} assume !(~i~1 < 20); {18003#true} is VALID [2018-11-23 12:15:36,610 INFO L256 TraceCheckUtils]: 47: Hoare triple {18003#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {18003#true} is VALID [2018-11-23 12:15:36,610 INFO L273 TraceCheckUtils]: 48: Hoare triple {18003#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18166#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:36,611 INFO L273 TraceCheckUtils]: 49: Hoare triple {18166#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18166#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:36,611 INFO L273 TraceCheckUtils]: 50: Hoare triple {18166#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18006#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:36,611 INFO L273 TraceCheckUtils]: 51: Hoare triple {18006#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18006#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:36,612 INFO L273 TraceCheckUtils]: 52: Hoare triple {18006#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18007#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:36,612 INFO L273 TraceCheckUtils]: 53: Hoare triple {18007#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18007#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:36,613 INFO L273 TraceCheckUtils]: 54: Hoare triple {18007#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18008#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:36,613 INFO L273 TraceCheckUtils]: 55: Hoare triple {18008#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18008#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:36,614 INFO L273 TraceCheckUtils]: 56: Hoare triple {18008#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18009#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:36,615 INFO L273 TraceCheckUtils]: 57: Hoare triple {18009#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18009#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:36,615 INFO L273 TraceCheckUtils]: 58: Hoare triple {18009#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18010#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:36,616 INFO L273 TraceCheckUtils]: 59: Hoare triple {18010#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18010#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:36,617 INFO L273 TraceCheckUtils]: 60: Hoare triple {18010#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18011#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:36,617 INFO L273 TraceCheckUtils]: 61: Hoare triple {18011#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18011#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:36,618 INFO L273 TraceCheckUtils]: 62: Hoare triple {18011#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18012#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:36,618 INFO L273 TraceCheckUtils]: 63: Hoare triple {18012#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18012#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:36,619 INFO L273 TraceCheckUtils]: 64: Hoare triple {18012#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18013#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:36,620 INFO L273 TraceCheckUtils]: 65: Hoare triple {18013#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18013#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:36,620 INFO L273 TraceCheckUtils]: 66: Hoare triple {18013#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18014#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:36,624 INFO L273 TraceCheckUtils]: 67: Hoare triple {18014#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18014#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:36,645 INFO L273 TraceCheckUtils]: 68: Hoare triple {18014#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18015#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:36,659 INFO L273 TraceCheckUtils]: 69: Hoare triple {18015#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18015#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:36,668 INFO L273 TraceCheckUtils]: 70: Hoare triple {18015#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18016#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:36,672 INFO L273 TraceCheckUtils]: 71: Hoare triple {18016#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18016#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:36,672 INFO L273 TraceCheckUtils]: 72: Hoare triple {18016#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18017#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:36,673 INFO L273 TraceCheckUtils]: 73: Hoare triple {18017#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18017#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:36,673 INFO L273 TraceCheckUtils]: 74: Hoare triple {18017#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18018#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 75: Hoare triple {18018#(<= avg_~i~0 13)} assume !(~i~0 < 20); {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 76: Hoare triple {18004#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 77: Hoare triple {18004#false} assume true; {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {18004#false} {18003#true} #70#return; {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 79: Hoare triple {18004#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L256 TraceCheckUtils]: 80: Hoare triple {18004#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 81: Hoare triple {18004#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18004#false} is VALID [2018-11-23 12:15:36,674 INFO L273 TraceCheckUtils]: 82: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 83: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 84: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 85: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 86: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 87: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 88: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 89: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 90: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 91: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,675 INFO L273 TraceCheckUtils]: 92: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 93: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 94: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 95: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 96: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 97: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 98: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 99: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 100: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,676 INFO L273 TraceCheckUtils]: 101: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 102: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 103: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 104: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 105: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 106: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 107: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 108: Hoare triple {18004#false} assume !(~i~0 < 20); {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 109: Hoare triple {18004#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L273 TraceCheckUtils]: 110: Hoare triple {18004#false} assume true; {18004#false} is VALID [2018-11-23 12:15:36,677 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {18004#false} {18004#false} #72#return; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 112: Hoare triple {18004#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 113: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 114: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 115: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 116: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 117: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 118: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 119: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,678 INFO L273 TraceCheckUtils]: 120: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 121: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 122: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 123: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 124: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 125: Hoare triple {18004#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 126: Hoare triple {18004#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 127: Hoare triple {18004#false} assume !(~i~2 < 19); {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 128: Hoare triple {18004#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L256 TraceCheckUtils]: 129: Hoare triple {18004#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {18004#false} is VALID [2018-11-23 12:15:36,679 INFO L273 TraceCheckUtils]: 130: Hoare triple {18004#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 131: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 132: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 133: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 134: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 135: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 136: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 137: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 138: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,680 INFO L273 TraceCheckUtils]: 139: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 140: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 141: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 142: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 143: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 144: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 145: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 146: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 147: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,681 INFO L273 TraceCheckUtils]: 148: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 149: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 150: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 151: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 152: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 153: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 154: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 155: Hoare triple {18004#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 156: Hoare triple {18004#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 157: Hoare triple {18004#false} assume !(~i~0 < 20); {18004#false} is VALID [2018-11-23 12:15:36,682 INFO L273 TraceCheckUtils]: 158: Hoare triple {18004#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {18004#false} is VALID [2018-11-23 12:15:36,683 INFO L273 TraceCheckUtils]: 159: Hoare triple {18004#false} assume true; {18004#false} is VALID [2018-11-23 12:15:36,683 INFO L268 TraceCheckUtils]: 160: Hoare quadruple {18004#false} {18004#false} #74#return; {18004#false} is VALID [2018-11-23 12:15:36,683 INFO L273 TraceCheckUtils]: 161: Hoare triple {18004#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {18004#false} is VALID [2018-11-23 12:15:36,683 INFO L273 TraceCheckUtils]: 162: Hoare triple {18004#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {18004#false} is VALID [2018-11-23 12:15:36,683 INFO L273 TraceCheckUtils]: 163: Hoare triple {18004#false} assume !false; {18004#false} is VALID [2018-11-23 12:15:36,694 INFO L134 CoverageAnalysis]: Checked inductivity of 2063 backedges. 732 proven. 169 refuted. 0 times theorem prover too weak. 1162 trivial. 0 not checked. [2018-11-23 12:15:36,714 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:36,715 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:15:36,715 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 164 [2018-11-23 12:15:36,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:36,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:15:37,551 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:37,551 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:15:37,551 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:15:37,551 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:37,552 INFO L87 Difference]: Start difference. First operand 103 states and 107 transitions. Second operand 17 states. [2018-11-23 12:15:38,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:38,364 INFO L93 Difference]: Finished difference Result 161 states and 171 transitions. [2018-11-23 12:15:38,364 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:15:38,364 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 164 [2018-11-23 12:15:38,364 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:38,364 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:38,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 81 transitions. [2018-11-23 12:15:38,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:15:38,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 81 transitions. [2018-11-23 12:15:38,367 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 81 transitions. [2018-11-23 12:15:38,455 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:38,457 INFO L225 Difference]: With dead ends: 161 [2018-11-23 12:15:38,457 INFO L226 Difference]: Without dead ends: 106 [2018-11-23 12:15:38,458 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 179 GetRequests, 164 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:15:38,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-11-23 12:15:38,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 105. [2018-11-23 12:15:38,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:38,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:38,502 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:38,502 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 105 states. [2018-11-23 12:15:38,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:38,505 INFO L93 Difference]: Finished difference Result 106 states and 110 transitions. [2018-11-23 12:15:38,505 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 110 transitions. [2018-11-23 12:15:38,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:38,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:38,505 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 106 states. [2018-11-23 12:15:38,505 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 106 states. [2018-11-23 12:15:38,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:38,507 INFO L93 Difference]: Finished difference Result 106 states and 110 transitions. [2018-11-23 12:15:38,507 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 110 transitions. [2018-11-23 12:15:38,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:38,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:38,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:38,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:38,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 12:15:38,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 109 transitions. [2018-11-23 12:15:38,510 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 109 transitions. Word has length 164 [2018-11-23 12:15:38,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:38,511 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 109 transitions. [2018-11-23 12:15:38,511 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:15:38,511 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 109 transitions. [2018-11-23 12:15:38,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 171 [2018-11-23 12:15:38,512 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:38,512 INFO L402 BasicCegarLoop]: trace histogram [42, 42, 20, 20, 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] [2018-11-23 12:15:38,512 INFO L423 AbstractCegarLoop]: === Iteration 31 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:38,513 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:38,513 INFO L82 PathProgramCache]: Analyzing trace with hash -1606318327, now seen corresponding path program 27 times [2018-11-23 12:15:38,513 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:38,513 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:38,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:38,514 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:38,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:38,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:39,205 INFO L256 TraceCheckUtils]: 0: Hoare triple {19118#true} call ULTIMATE.init(); {19118#true} is VALID [2018-11-23 12:15:39,205 INFO L273 TraceCheckUtils]: 1: Hoare triple {19118#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19118#true} is VALID [2018-11-23 12:15:39,205 INFO L273 TraceCheckUtils]: 2: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,206 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19118#true} {19118#true} #66#return; {19118#true} is VALID [2018-11-23 12:15:39,206 INFO L256 TraceCheckUtils]: 4: Hoare triple {19118#true} call #t~ret12 := main(); {19118#true} is VALID [2018-11-23 12:15:39,206 INFO L273 TraceCheckUtils]: 5: Hoare triple {19118#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19118#true} is VALID [2018-11-23 12:15:39,206 INFO L273 TraceCheckUtils]: 6: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,206 INFO L273 TraceCheckUtils]: 7: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 8: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 9: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 10: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 11: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 12: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,207 INFO L273 TraceCheckUtils]: 13: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 15: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 16: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 17: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 18: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 19: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 20: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 21: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,208 INFO L273 TraceCheckUtils]: 22: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 23: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 24: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 25: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 26: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 27: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 28: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 29: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 30: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,209 INFO L273 TraceCheckUtils]: 31: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 32: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 33: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 34: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 35: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 36: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 37: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 38: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 39: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 40: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,210 INFO L273 TraceCheckUtils]: 41: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L273 TraceCheckUtils]: 42: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L273 TraceCheckUtils]: 43: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L273 TraceCheckUtils]: 44: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L273 TraceCheckUtils]: 45: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L273 TraceCheckUtils]: 46: Hoare triple {19118#true} assume !(~i~1 < 20); {19118#true} is VALID [2018-11-23 12:15:39,211 INFO L256 TraceCheckUtils]: 47: Hoare triple {19118#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {19118#true} is VALID [2018-11-23 12:15:39,212 INFO L273 TraceCheckUtils]: 48: Hoare triple {19118#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19120#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:39,212 INFO L273 TraceCheckUtils]: 49: Hoare triple {19120#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19120#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:39,212 INFO L273 TraceCheckUtils]: 50: Hoare triple {19120#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19121#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:39,213 INFO L273 TraceCheckUtils]: 51: Hoare triple {19121#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19121#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:39,213 INFO L273 TraceCheckUtils]: 52: Hoare triple {19121#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19122#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:39,213 INFO L273 TraceCheckUtils]: 53: Hoare triple {19122#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19122#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:39,214 INFO L273 TraceCheckUtils]: 54: Hoare triple {19122#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19123#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:39,214 INFO L273 TraceCheckUtils]: 55: Hoare triple {19123#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19123#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:39,215 INFO L273 TraceCheckUtils]: 56: Hoare triple {19123#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19124#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:39,215 INFO L273 TraceCheckUtils]: 57: Hoare triple {19124#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19124#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:39,216 INFO L273 TraceCheckUtils]: 58: Hoare triple {19124#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19125#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:39,216 INFO L273 TraceCheckUtils]: 59: Hoare triple {19125#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19125#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:39,217 INFO L273 TraceCheckUtils]: 60: Hoare triple {19125#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19126#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:39,218 INFO L273 TraceCheckUtils]: 61: Hoare triple {19126#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19126#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:39,218 INFO L273 TraceCheckUtils]: 62: Hoare triple {19126#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19127#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:39,219 INFO L273 TraceCheckUtils]: 63: Hoare triple {19127#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19127#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:39,220 INFO L273 TraceCheckUtils]: 64: Hoare triple {19127#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19128#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:39,220 INFO L273 TraceCheckUtils]: 65: Hoare triple {19128#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19128#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:39,221 INFO L273 TraceCheckUtils]: 66: Hoare triple {19128#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19129#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:39,222 INFO L273 TraceCheckUtils]: 67: Hoare triple {19129#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19129#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:39,222 INFO L273 TraceCheckUtils]: 68: Hoare triple {19129#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19130#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:39,223 INFO L273 TraceCheckUtils]: 69: Hoare triple {19130#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19130#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:39,224 INFO L273 TraceCheckUtils]: 70: Hoare triple {19130#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19131#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:39,224 INFO L273 TraceCheckUtils]: 71: Hoare triple {19131#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19131#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:39,225 INFO L273 TraceCheckUtils]: 72: Hoare triple {19131#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19132#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:39,225 INFO L273 TraceCheckUtils]: 73: Hoare triple {19132#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19132#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:39,226 INFO L273 TraceCheckUtils]: 74: Hoare triple {19132#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19133#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:39,227 INFO L273 TraceCheckUtils]: 75: Hoare triple {19133#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19133#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:39,227 INFO L273 TraceCheckUtils]: 76: Hoare triple {19133#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19134#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:39,228 INFO L273 TraceCheckUtils]: 77: Hoare triple {19134#(<= avg_~i~0 14)} assume !(~i~0 < 20); {19119#false} is VALID [2018-11-23 12:15:39,228 INFO L273 TraceCheckUtils]: 78: Hoare triple {19119#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19119#false} is VALID [2018-11-23 12:15:39,228 INFO L273 TraceCheckUtils]: 79: Hoare triple {19119#false} assume true; {19119#false} is VALID [2018-11-23 12:15:39,229 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {19119#false} {19118#true} #70#return; {19119#false} is VALID [2018-11-23 12:15:39,229 INFO L273 TraceCheckUtils]: 81: Hoare triple {19119#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {19119#false} is VALID [2018-11-23 12:15:39,229 INFO L256 TraceCheckUtils]: 82: Hoare triple {19119#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {19118#true} is VALID [2018-11-23 12:15:39,229 INFO L273 TraceCheckUtils]: 83: Hoare triple {19118#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19118#true} is VALID [2018-11-23 12:15:39,229 INFO L273 TraceCheckUtils]: 84: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,230 INFO L273 TraceCheckUtils]: 85: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,230 INFO L273 TraceCheckUtils]: 86: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,230 INFO L273 TraceCheckUtils]: 87: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,230 INFO L273 TraceCheckUtils]: 88: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,230 INFO L273 TraceCheckUtils]: 89: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 90: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 91: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 92: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 93: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 94: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 95: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 96: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 97: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 98: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,231 INFO L273 TraceCheckUtils]: 99: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 100: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 101: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 102: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 103: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 104: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 105: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 106: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 107: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,232 INFO L273 TraceCheckUtils]: 108: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 109: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 110: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 111: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 112: Hoare triple {19118#true} assume !(~i~0 < 20); {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 113: Hoare triple {19118#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 114: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,233 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {19118#true} {19119#false} #72#return; {19119#false} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 116: Hoare triple {19119#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {19119#false} is VALID [2018-11-23 12:15:39,233 INFO L273 TraceCheckUtils]: 117: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 118: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 119: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 120: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 121: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 122: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 123: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 124: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 125: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 126: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,234 INFO L273 TraceCheckUtils]: 127: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 128: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 129: Hoare triple {19119#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 130: Hoare triple {19119#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 131: Hoare triple {19119#false} assume !(~i~2 < 19); {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 132: Hoare triple {19119#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {19119#false} is VALID [2018-11-23 12:15:39,235 INFO L256 TraceCheckUtils]: 133: Hoare triple {19119#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {19118#true} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 134: Hoare triple {19118#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19118#true} is VALID [2018-11-23 12:15:39,235 INFO L273 TraceCheckUtils]: 135: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 136: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 137: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 138: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 139: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 140: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 141: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 142: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 143: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 144: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,236 INFO L273 TraceCheckUtils]: 145: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 146: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 147: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 148: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 149: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 150: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 151: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 152: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 153: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,237 INFO L273 TraceCheckUtils]: 154: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 155: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 156: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 157: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 158: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 159: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 160: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 161: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,238 INFO L273 TraceCheckUtils]: 162: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 163: Hoare triple {19118#true} assume !(~i~0 < 20); {19118#true} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 164: Hoare triple {19118#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19118#true} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 165: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,239 INFO L268 TraceCheckUtils]: 166: Hoare quadruple {19118#true} {19119#false} #74#return; {19119#false} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 167: Hoare triple {19119#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {19119#false} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 168: Hoare triple {19119#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19119#false} is VALID [2018-11-23 12:15:39,239 INFO L273 TraceCheckUtils]: 169: Hoare triple {19119#false} assume !false; {19119#false} is VALID [2018-11-23 12:15:39,266 INFO L134 CoverageAnalysis]: Checked inductivity of 2312 backedges. 0 proven. 1044 refuted. 0 times theorem prover too weak. 1268 trivial. 0 not checked. [2018-11-23 12:15:39,266 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:39,266 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:39,278 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:15:39,402 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2018-11-23 12:15:39,402 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:39,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:39,441 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:39,746 INFO L256 TraceCheckUtils]: 0: Hoare triple {19118#true} call ULTIMATE.init(); {19118#true} is VALID [2018-11-23 12:15:39,747 INFO L273 TraceCheckUtils]: 1: Hoare triple {19118#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {19118#true} is VALID [2018-11-23 12:15:39,747 INFO L273 TraceCheckUtils]: 2: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,747 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {19118#true} {19118#true} #66#return; {19118#true} is VALID [2018-11-23 12:15:39,747 INFO L256 TraceCheckUtils]: 4: Hoare triple {19118#true} call #t~ret12 := main(); {19118#true} is VALID [2018-11-23 12:15:39,747 INFO L273 TraceCheckUtils]: 5: Hoare triple {19118#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {19118#true} is VALID [2018-11-23 12:15:39,748 INFO L273 TraceCheckUtils]: 6: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,748 INFO L273 TraceCheckUtils]: 7: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,748 INFO L273 TraceCheckUtils]: 8: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,748 INFO L273 TraceCheckUtils]: 9: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,748 INFO L273 TraceCheckUtils]: 10: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 11: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 12: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 13: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 14: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 15: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 16: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 17: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 18: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,749 INFO L273 TraceCheckUtils]: 19: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 20: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 21: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 22: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 23: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 24: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 25: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 26: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 27: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,750 INFO L273 TraceCheckUtils]: 28: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 29: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 30: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 31: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 32: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 33: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 34: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 35: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 36: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 37: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,751 INFO L273 TraceCheckUtils]: 38: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 39: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 40: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 41: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 42: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 43: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 44: Hoare triple {19118#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 45: Hoare triple {19118#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L273 TraceCheckUtils]: 46: Hoare triple {19118#true} assume !(~i~1 < 20); {19118#true} is VALID [2018-11-23 12:15:39,752 INFO L256 TraceCheckUtils]: 47: Hoare triple {19118#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 48: Hoare triple {19118#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 49: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 50: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 51: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 52: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 53: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 54: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 55: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 56: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,753 INFO L273 TraceCheckUtils]: 57: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 58: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 59: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 60: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 61: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 62: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 63: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 64: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,754 INFO L273 TraceCheckUtils]: 65: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 66: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 67: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 68: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 69: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 70: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 71: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 72: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 73: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 74: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,755 INFO L273 TraceCheckUtils]: 75: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 76: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 77: Hoare triple {19118#true} assume !(~i~0 < 20); {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 78: Hoare triple {19118#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 79: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {19118#true} {19118#true} #70#return; {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 81: Hoare triple {19118#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L256 TraceCheckUtils]: 82: Hoare triple {19118#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 83: Hoare triple {19118#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19118#true} is VALID [2018-11-23 12:15:39,756 INFO L273 TraceCheckUtils]: 84: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 85: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 86: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 87: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 88: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 89: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 90: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 91: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 92: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 93: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,757 INFO L273 TraceCheckUtils]: 94: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 95: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 96: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 97: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 98: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 99: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 100: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 101: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 102: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,758 INFO L273 TraceCheckUtils]: 103: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 104: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 105: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 106: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 107: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 108: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 109: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 110: Hoare triple {19118#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 111: Hoare triple {19118#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19118#true} is VALID [2018-11-23 12:15:39,759 INFO L273 TraceCheckUtils]: 112: Hoare triple {19118#true} assume !(~i~0 < 20); {19118#true} is VALID [2018-11-23 12:15:39,760 INFO L273 TraceCheckUtils]: 113: Hoare triple {19118#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19118#true} is VALID [2018-11-23 12:15:39,760 INFO L273 TraceCheckUtils]: 114: Hoare triple {19118#true} assume true; {19118#true} is VALID [2018-11-23 12:15:39,760 INFO L268 TraceCheckUtils]: 115: Hoare quadruple {19118#true} {19118#true} #72#return; {19118#true} is VALID [2018-11-23 12:15:39,776 INFO L273 TraceCheckUtils]: 116: Hoare triple {19118#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {19486#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:39,785 INFO L273 TraceCheckUtils]: 117: Hoare triple {19486#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19486#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:39,799 INFO L273 TraceCheckUtils]: 118: Hoare triple {19486#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19493#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:39,808 INFO L273 TraceCheckUtils]: 119: Hoare triple {19493#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19493#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:39,821 INFO L273 TraceCheckUtils]: 120: Hoare triple {19493#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19500#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:39,830 INFO L273 TraceCheckUtils]: 121: Hoare triple {19500#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19500#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:39,831 INFO L273 TraceCheckUtils]: 122: Hoare triple {19500#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19507#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:39,832 INFO L273 TraceCheckUtils]: 123: Hoare triple {19507#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19507#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:39,832 INFO L273 TraceCheckUtils]: 124: Hoare triple {19507#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19514#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:39,834 INFO L273 TraceCheckUtils]: 125: Hoare triple {19514#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19514#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:39,834 INFO L273 TraceCheckUtils]: 126: Hoare triple {19514#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19521#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:39,836 INFO L273 TraceCheckUtils]: 127: Hoare triple {19521#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19521#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:39,836 INFO L273 TraceCheckUtils]: 128: Hoare triple {19521#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19528#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:39,836 INFO L273 TraceCheckUtils]: 129: Hoare triple {19528#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {19528#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:39,837 INFO L273 TraceCheckUtils]: 130: Hoare triple {19528#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {19535#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:39,837 INFO L273 TraceCheckUtils]: 131: Hoare triple {19535#(<= main_~i~2 7)} assume !(~i~2 < 19); {19119#false} is VALID [2018-11-23 12:15:39,837 INFO L273 TraceCheckUtils]: 132: Hoare triple {19119#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L256 TraceCheckUtils]: 133: Hoare triple {19119#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 134: Hoare triple {19119#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 135: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 136: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 137: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 138: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 139: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 140: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,838 INFO L273 TraceCheckUtils]: 141: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 142: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 143: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 144: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 145: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 146: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 147: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 148: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 149: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 150: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,839 INFO L273 TraceCheckUtils]: 151: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 152: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 153: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 154: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 155: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 156: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 157: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 158: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 159: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,840 INFO L273 TraceCheckUtils]: 160: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 161: Hoare triple {19119#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 162: Hoare triple {19119#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 163: Hoare triple {19119#false} assume !(~i~0 < 20); {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 164: Hoare triple {19119#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 165: Hoare triple {19119#false} assume true; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L268 TraceCheckUtils]: 166: Hoare quadruple {19119#false} {19119#false} #74#return; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 167: Hoare triple {19119#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 168: Hoare triple {19119#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {19119#false} is VALID [2018-11-23 12:15:39,841 INFO L273 TraceCheckUtils]: 169: Hoare triple {19119#false} assume !false; {19119#false} is VALID [2018-11-23 12:15:39,852 INFO L134 CoverageAnalysis]: Checked inductivity of 2312 backedges. 850 proven. 49 refuted. 0 times theorem prover too weak. 1413 trivial. 0 not checked. [2018-11-23 12:15:39,873 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:39,873 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 25 [2018-11-23 12:15:39,874 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 170 [2018-11-23 12:15:39,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:39,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 12:15:40,205 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:40,205 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 12:15:40,206 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 12:15:40,206 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=180, Invalid=420, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:15:40,206 INFO L87 Difference]: Start difference. First operand 105 states and 109 transitions. Second operand 25 states. [2018-11-23 12:15:40,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:40,811 INFO L93 Difference]: Finished difference Result 168 states and 179 transitions. [2018-11-23 12:15:40,812 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:15:40,812 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 170 [2018-11-23 12:15:40,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:40,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:15:40,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2018-11-23 12:15:40,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 12:15:40,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2018-11-23 12:15:40,814 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 100 transitions. [2018-11-23 12:15:40,922 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:40,924 INFO L225 Difference]: With dead ends: 168 [2018-11-23 12:15:40,925 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 12:15:40,925 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=180, Invalid=420, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:15:40,926 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 12:15:40,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 109. [2018-11-23 12:15:40,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:40,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 109 states. [2018-11-23 12:15:40,967 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 109 states. [2018-11-23 12:15:40,967 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 109 states. [2018-11-23 12:15:40,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:40,970 INFO L93 Difference]: Finished difference Result 111 states and 115 transitions. [2018-11-23 12:15:40,970 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2018-11-23 12:15:40,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:40,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:40,970 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 111 states. [2018-11-23 12:15:40,970 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 111 states. [2018-11-23 12:15:40,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:40,972 INFO L93 Difference]: Finished difference Result 111 states and 115 transitions. [2018-11-23 12:15:40,972 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2018-11-23 12:15:40,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:40,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:40,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:40,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:40,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 109 states. [2018-11-23 12:15:40,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 113 transitions. [2018-11-23 12:15:40,975 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 113 transitions. Word has length 170 [2018-11-23 12:15:40,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:40,975 INFO L480 AbstractCegarLoop]: Abstraction has 109 states and 113 transitions. [2018-11-23 12:15:40,975 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 12:15:40,975 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 113 transitions. [2018-11-23 12:15:40,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 179 [2018-11-23 12:15:40,976 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:40,976 INFO L402 BasicCegarLoop]: trace histogram [45, 45, 20, 20, 8, 8, 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:15:40,976 INFO L423 AbstractCegarLoop]: === Iteration 32 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:40,977 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:40,977 INFO L82 PathProgramCache]: Analyzing trace with hash -1453771387, now seen corresponding path program 28 times [2018-11-23 12:15:40,977 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:40,977 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:40,977 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:40,978 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:40,978 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:41,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:41,554 INFO L256 TraceCheckUtils]: 0: Hoare triple {20285#true} call ULTIMATE.init(); {20285#true} is VALID [2018-11-23 12:15:41,554 INFO L273 TraceCheckUtils]: 1: Hoare triple {20285#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20285#true} is VALID [2018-11-23 12:15:41,554 INFO L273 TraceCheckUtils]: 2: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,554 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20285#true} {20285#true} #66#return; {20285#true} is VALID [2018-11-23 12:15:41,554 INFO L256 TraceCheckUtils]: 4: Hoare triple {20285#true} call #t~ret12 := main(); {20285#true} is VALID [2018-11-23 12:15:41,554 INFO L273 TraceCheckUtils]: 5: Hoare triple {20285#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20285#true} is VALID [2018-11-23 12:15:41,555 INFO L273 TraceCheckUtils]: 6: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,555 INFO L273 TraceCheckUtils]: 7: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,555 INFO L273 TraceCheckUtils]: 8: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,555 INFO L273 TraceCheckUtils]: 9: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,555 INFO L273 TraceCheckUtils]: 10: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 11: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 12: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 13: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 14: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 15: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,556 INFO L273 TraceCheckUtils]: 16: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 17: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 18: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 19: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 20: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 21: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 22: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 23: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,557 INFO L273 TraceCheckUtils]: 24: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 25: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 26: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 27: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 28: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 29: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 30: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 31: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 32: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,558 INFO L273 TraceCheckUtils]: 33: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 34: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 35: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 36: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 37: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 38: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 39: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 40: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 41: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 42: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,559 INFO L273 TraceCheckUtils]: 43: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,560 INFO L273 TraceCheckUtils]: 44: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,560 INFO L273 TraceCheckUtils]: 45: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,560 INFO L273 TraceCheckUtils]: 46: Hoare triple {20285#true} assume !(~i~1 < 20); {20285#true} is VALID [2018-11-23 12:15:41,560 INFO L256 TraceCheckUtils]: 47: Hoare triple {20285#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,560 INFO L273 TraceCheckUtils]: 48: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20287#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:41,560 INFO L273 TraceCheckUtils]: 49: Hoare triple {20287#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20287#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:41,561 INFO L273 TraceCheckUtils]: 50: Hoare triple {20287#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20288#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:41,561 INFO L273 TraceCheckUtils]: 51: Hoare triple {20288#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20288#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:41,562 INFO L273 TraceCheckUtils]: 52: Hoare triple {20288#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20289#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:41,562 INFO L273 TraceCheckUtils]: 53: Hoare triple {20289#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20289#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:41,562 INFO L273 TraceCheckUtils]: 54: Hoare triple {20289#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20290#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:41,563 INFO L273 TraceCheckUtils]: 55: Hoare triple {20290#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20290#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:41,563 INFO L273 TraceCheckUtils]: 56: Hoare triple {20290#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20291#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:41,563 INFO L273 TraceCheckUtils]: 57: Hoare triple {20291#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20291#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:41,564 INFO L273 TraceCheckUtils]: 58: Hoare triple {20291#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20292#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:41,564 INFO L273 TraceCheckUtils]: 59: Hoare triple {20292#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20292#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:41,565 INFO L273 TraceCheckUtils]: 60: Hoare triple {20292#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20293#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:41,565 INFO L273 TraceCheckUtils]: 61: Hoare triple {20293#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20293#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:41,566 INFO L273 TraceCheckUtils]: 62: Hoare triple {20293#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20294#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:41,566 INFO L273 TraceCheckUtils]: 63: Hoare triple {20294#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20294#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:41,569 INFO L273 TraceCheckUtils]: 64: Hoare triple {20294#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20295#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:41,569 INFO L273 TraceCheckUtils]: 65: Hoare triple {20295#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20295#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:41,570 INFO L273 TraceCheckUtils]: 66: Hoare triple {20295#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20296#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:41,570 INFO L273 TraceCheckUtils]: 67: Hoare triple {20296#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20296#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:41,571 INFO L273 TraceCheckUtils]: 68: Hoare triple {20296#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20297#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:41,571 INFO L273 TraceCheckUtils]: 69: Hoare triple {20297#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20297#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:41,571 INFO L273 TraceCheckUtils]: 70: Hoare triple {20297#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20298#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:41,572 INFO L273 TraceCheckUtils]: 71: Hoare triple {20298#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20298#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:41,572 INFO L273 TraceCheckUtils]: 72: Hoare triple {20298#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20299#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:41,573 INFO L273 TraceCheckUtils]: 73: Hoare triple {20299#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20299#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:41,573 INFO L273 TraceCheckUtils]: 74: Hoare triple {20299#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20300#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:41,574 INFO L273 TraceCheckUtils]: 75: Hoare triple {20300#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20300#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:41,574 INFO L273 TraceCheckUtils]: 76: Hoare triple {20300#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20301#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:41,575 INFO L273 TraceCheckUtils]: 77: Hoare triple {20301#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20301#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:41,575 INFO L273 TraceCheckUtils]: 78: Hoare triple {20301#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20302#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:41,576 INFO L273 TraceCheckUtils]: 79: Hoare triple {20302#(<= avg_~i~0 15)} assume !(~i~0 < 20); {20286#false} is VALID [2018-11-23 12:15:41,576 INFO L273 TraceCheckUtils]: 80: Hoare triple {20286#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20286#false} is VALID [2018-11-23 12:15:41,576 INFO L273 TraceCheckUtils]: 81: Hoare triple {20286#false} assume true; {20286#false} is VALID [2018-11-23 12:15:41,577 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {20286#false} {20285#true} #70#return; {20286#false} is VALID [2018-11-23 12:15:41,577 INFO L273 TraceCheckUtils]: 83: Hoare triple {20286#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {20286#false} is VALID [2018-11-23 12:15:41,577 INFO L256 TraceCheckUtils]: 84: Hoare triple {20286#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,577 INFO L273 TraceCheckUtils]: 85: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20285#true} is VALID [2018-11-23 12:15:41,577 INFO L273 TraceCheckUtils]: 86: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,577 INFO L273 TraceCheckUtils]: 87: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 88: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 89: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 90: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 91: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 92: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 93: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,578 INFO L273 TraceCheckUtils]: 94: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 95: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 96: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 97: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 98: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 99: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 100: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 101: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 102: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 103: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,579 INFO L273 TraceCheckUtils]: 104: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 105: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 106: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 107: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 108: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 109: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 110: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 111: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 112: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,580 INFO L273 TraceCheckUtils]: 113: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 114: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 115: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 116: Hoare triple {20285#true} assume !(~i~0 < 20); {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 117: Hoare triple {20285#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 118: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,581 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {20285#true} {20286#false} #72#return; {20286#false} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 120: Hoare triple {20286#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {20286#false} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 121: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 122: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,581 INFO L273 TraceCheckUtils]: 123: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 124: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 125: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 126: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 127: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 128: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 129: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 130: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 131: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 132: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,582 INFO L273 TraceCheckUtils]: 133: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 134: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 135: Hoare triple {20286#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 136: Hoare triple {20286#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 137: Hoare triple {20286#false} assume !(~i~2 < 19); {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 138: Hoare triple {20286#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {20286#false} is VALID [2018-11-23 12:15:41,583 INFO L256 TraceCheckUtils]: 139: Hoare triple {20286#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 140: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20285#true} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 141: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,583 INFO L273 TraceCheckUtils]: 142: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 143: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 144: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 145: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 146: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 147: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 148: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 149: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 150: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 151: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,584 INFO L273 TraceCheckUtils]: 152: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 153: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 154: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 155: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 156: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 157: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 158: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 159: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 160: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 161: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,585 INFO L273 TraceCheckUtils]: 162: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 163: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 164: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 165: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 166: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 167: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 168: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 169: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 170: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,586 INFO L273 TraceCheckUtils]: 171: Hoare triple {20285#true} assume !(~i~0 < 20); {20285#true} is VALID [2018-11-23 12:15:41,587 INFO L273 TraceCheckUtils]: 172: Hoare triple {20285#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20285#true} is VALID [2018-11-23 12:15:41,587 INFO L273 TraceCheckUtils]: 173: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,587 INFO L268 TraceCheckUtils]: 174: Hoare quadruple {20285#true} {20286#false} #74#return; {20286#false} is VALID [2018-11-23 12:15:41,587 INFO L273 TraceCheckUtils]: 175: Hoare triple {20286#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {20286#false} is VALID [2018-11-23 12:15:41,587 INFO L273 TraceCheckUtils]: 176: Hoare triple {20286#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20286#false} is VALID [2018-11-23 12:15:41,587 INFO L273 TraceCheckUtils]: 177: Hoare triple {20286#false} assume !false; {20286#false} is VALID [2018-11-23 12:15:41,599 INFO L134 CoverageAnalysis]: Checked inductivity of 2594 backedges. 0 proven. 1193 refuted. 0 times theorem prover too weak. 1401 trivial. 0 not checked. [2018-11-23 12:15:41,599 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:41,600 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:41,608 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:15:41,687 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:15:41,688 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:41,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:41,737 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:41,959 INFO L256 TraceCheckUtils]: 0: Hoare triple {20285#true} call ULTIMATE.init(); {20285#true} is VALID [2018-11-23 12:15:41,959 INFO L273 TraceCheckUtils]: 1: Hoare triple {20285#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {20285#true} is VALID [2018-11-23 12:15:41,959 INFO L273 TraceCheckUtils]: 2: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,959 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {20285#true} {20285#true} #66#return; {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L256 TraceCheckUtils]: 4: Hoare triple {20285#true} call #t~ret12 := main(); {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L273 TraceCheckUtils]: 5: Hoare triple {20285#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L273 TraceCheckUtils]: 6: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L273 TraceCheckUtils]: 7: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L273 TraceCheckUtils]: 8: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,960 INFO L273 TraceCheckUtils]: 9: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,961 INFO L273 TraceCheckUtils]: 10: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,961 INFO L273 TraceCheckUtils]: 11: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,961 INFO L273 TraceCheckUtils]: 12: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,961 INFO L273 TraceCheckUtils]: 13: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,961 INFO L273 TraceCheckUtils]: 14: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 15: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 16: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 17: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 18: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 19: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 20: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 21: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 22: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,962 INFO L273 TraceCheckUtils]: 23: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 24: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 25: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 26: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 27: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 28: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 29: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 30: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 31: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 32: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,963 INFO L273 TraceCheckUtils]: 33: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 34: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 35: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 36: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 37: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 38: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 39: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 40: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 41: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 42: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,964 INFO L273 TraceCheckUtils]: 43: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 44: Hoare triple {20285#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 45: Hoare triple {20285#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 46: Hoare triple {20285#true} assume !(~i~1 < 20); {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L256 TraceCheckUtils]: 47: Hoare triple {20285#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 48: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 49: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 50: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 51: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,965 INFO L273 TraceCheckUtils]: 52: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 53: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 54: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 55: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 56: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 57: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 58: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 59: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 60: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 61: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,966 INFO L273 TraceCheckUtils]: 62: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 63: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 64: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 65: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 66: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 67: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 68: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 69: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 70: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 71: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,967 INFO L273 TraceCheckUtils]: 72: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 73: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 74: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 75: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 76: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 77: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 78: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 79: Hoare triple {20285#true} assume !(~i~0 < 20); {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 80: Hoare triple {20285#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20285#true} is VALID [2018-11-23 12:15:41,968 INFO L273 TraceCheckUtils]: 81: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {20285#true} {20285#true} #70#return; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 83: Hoare triple {20285#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L256 TraceCheckUtils]: 84: Hoare triple {20285#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 85: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 86: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 87: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 88: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 89: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 90: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,969 INFO L273 TraceCheckUtils]: 91: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 92: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 93: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 94: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 95: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 96: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 97: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 98: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 99: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 100: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,970 INFO L273 TraceCheckUtils]: 101: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 102: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 103: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 104: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 105: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 106: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 107: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 108: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 109: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 110: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,971 INFO L273 TraceCheckUtils]: 111: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 112: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 113: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 114: Hoare triple {20285#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 115: Hoare triple {20285#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 116: Hoare triple {20285#true} assume !(~i~0 < 20); {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 117: Hoare triple {20285#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 118: Hoare triple {20285#true} assume true; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L268 TraceCheckUtils]: 119: Hoare quadruple {20285#true} {20285#true} #72#return; {20285#true} is VALID [2018-11-23 12:15:41,972 INFO L273 TraceCheckUtils]: 120: Hoare triple {20285#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 121: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 122: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 123: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 124: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 125: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 126: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 127: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 128: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 129: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,973 INFO L273 TraceCheckUtils]: 130: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 131: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 132: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 133: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 134: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 135: Hoare triple {20285#true} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 136: Hoare triple {20285#true} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 137: Hoare triple {20285#true} assume !(~i~2 < 19); {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L273 TraceCheckUtils]: 138: Hoare triple {20285#true} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {20285#true} is VALID [2018-11-23 12:15:41,974 INFO L256 TraceCheckUtils]: 139: Hoare triple {20285#true} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {20285#true} is VALID [2018-11-23 12:15:41,975 INFO L273 TraceCheckUtils]: 140: Hoare triple {20285#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {20726#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:41,975 INFO L273 TraceCheckUtils]: 141: Hoare triple {20726#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20726#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:41,976 INFO L273 TraceCheckUtils]: 142: Hoare triple {20726#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20288#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:41,976 INFO L273 TraceCheckUtils]: 143: Hoare triple {20288#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20288#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:41,976 INFO L273 TraceCheckUtils]: 144: Hoare triple {20288#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20289#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:41,977 INFO L273 TraceCheckUtils]: 145: Hoare triple {20289#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20289#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:41,977 INFO L273 TraceCheckUtils]: 146: Hoare triple {20289#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20290#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:41,978 INFO L273 TraceCheckUtils]: 147: Hoare triple {20290#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20290#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:41,978 INFO L273 TraceCheckUtils]: 148: Hoare triple {20290#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20291#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:41,978 INFO L273 TraceCheckUtils]: 149: Hoare triple {20291#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20291#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:41,979 INFO L273 TraceCheckUtils]: 150: Hoare triple {20291#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20292#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:41,979 INFO L273 TraceCheckUtils]: 151: Hoare triple {20292#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20292#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:41,980 INFO L273 TraceCheckUtils]: 152: Hoare triple {20292#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20293#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:41,980 INFO L273 TraceCheckUtils]: 153: Hoare triple {20293#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20293#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:41,981 INFO L273 TraceCheckUtils]: 154: Hoare triple {20293#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20294#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:41,982 INFO L273 TraceCheckUtils]: 155: Hoare triple {20294#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20294#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:41,982 INFO L273 TraceCheckUtils]: 156: Hoare triple {20294#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20295#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:41,983 INFO L273 TraceCheckUtils]: 157: Hoare triple {20295#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20295#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:41,984 INFO L273 TraceCheckUtils]: 158: Hoare triple {20295#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20296#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:41,984 INFO L273 TraceCheckUtils]: 159: Hoare triple {20296#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20296#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:41,985 INFO L273 TraceCheckUtils]: 160: Hoare triple {20296#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20297#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:41,985 INFO L273 TraceCheckUtils]: 161: Hoare triple {20297#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20297#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:41,986 INFO L273 TraceCheckUtils]: 162: Hoare triple {20297#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20298#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:41,987 INFO L273 TraceCheckUtils]: 163: Hoare triple {20298#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20298#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:41,987 INFO L273 TraceCheckUtils]: 164: Hoare triple {20298#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20299#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:41,988 INFO L273 TraceCheckUtils]: 165: Hoare triple {20299#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20299#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:41,989 INFO L273 TraceCheckUtils]: 166: Hoare triple {20299#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20300#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:41,989 INFO L273 TraceCheckUtils]: 167: Hoare triple {20300#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20300#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:41,990 INFO L273 TraceCheckUtils]: 168: Hoare triple {20300#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20301#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:41,990 INFO L273 TraceCheckUtils]: 169: Hoare triple {20301#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {20301#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:41,991 INFO L273 TraceCheckUtils]: 170: Hoare triple {20301#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {20302#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:41,992 INFO L273 TraceCheckUtils]: 171: Hoare triple {20302#(<= avg_~i~0 15)} assume !(~i~0 < 20); {20286#false} is VALID [2018-11-23 12:15:41,992 INFO L273 TraceCheckUtils]: 172: Hoare triple {20286#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {20286#false} is VALID [2018-11-23 12:15:41,992 INFO L273 TraceCheckUtils]: 173: Hoare triple {20286#false} assume true; {20286#false} is VALID [2018-11-23 12:15:41,992 INFO L268 TraceCheckUtils]: 174: Hoare quadruple {20286#false} {20285#true} #74#return; {20286#false} is VALID [2018-11-23 12:15:41,992 INFO L273 TraceCheckUtils]: 175: Hoare triple {20286#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {20286#false} is VALID [2018-11-23 12:15:41,993 INFO L273 TraceCheckUtils]: 176: Hoare triple {20286#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {20286#false} is VALID [2018-11-23 12:15:41,993 INFO L273 TraceCheckUtils]: 177: Hoare triple {20286#false} assume !false; {20286#false} is VALID [2018-11-23 12:15:42,008 INFO L134 CoverageAnalysis]: Checked inductivity of 2594 backedges. 968 proven. 225 refuted. 0 times theorem prover too weak. 1401 trivial. 0 not checked. [2018-11-23 12:15:42,028 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:42,029 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 19 [2018-11-23 12:15:42,029 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 178 [2018-11-23 12:15:42,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:42,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:15:42,107 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:42,107 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:15:42,108 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:15:42,108 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:15:42,108 INFO L87 Difference]: Start difference. First operand 109 states and 113 transitions. Second operand 19 states. [2018-11-23 12:15:42,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:42,769 INFO L93 Difference]: Finished difference Result 173 states and 183 transitions. [2018-11-23 12:15:42,769 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:15:42,769 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 178 [2018-11-23 12:15:42,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:42,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:15:42,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-23 12:15:42,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:15:42,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 85 transitions. [2018-11-23 12:15:42,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 85 transitions. [2018-11-23 12:15:42,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:42,855 INFO L225 Difference]: With dead ends: 173 [2018-11-23 12:15:42,855 INFO L226 Difference]: Without dead ends: 112 [2018-11-23 12:15:42,856 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 195 GetRequests, 178 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=171, Invalid=171, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:15:42,857 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-11-23 12:15:42,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2018-11-23 12:15:42,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:42,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2018-11-23 12:15:42,902 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2018-11-23 12:15:42,902 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2018-11-23 12:15:42,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:42,904 INFO L93 Difference]: Finished difference Result 112 states and 116 transitions. [2018-11-23 12:15:42,904 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 116 transitions. [2018-11-23 12:15:42,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:42,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:42,905 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2018-11-23 12:15:42,905 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2018-11-23 12:15:42,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:42,907 INFO L93 Difference]: Finished difference Result 112 states and 116 transitions. [2018-11-23 12:15:42,907 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 116 transitions. [2018-11-23 12:15:42,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:42,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:42,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:42,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:42,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 12:15:42,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 115 transitions. [2018-11-23 12:15:42,909 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 115 transitions. Word has length 178 [2018-11-23 12:15:42,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:42,909 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 115 transitions. [2018-11-23 12:15:42,909 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:15:42,909 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 115 transitions. [2018-11-23 12:15:42,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 185 [2018-11-23 12:15:42,910 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:42,910 INFO L402 BasicCegarLoop]: trace histogram [48, 48, 20, 20, 8, 8, 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:15:42,910 INFO L423 AbstractCegarLoop]: === Iteration 33 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:42,910 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:42,911 INFO L82 PathProgramCache]: Analyzing trace with hash -415031933, now seen corresponding path program 29 times [2018-11-23 12:15:42,911 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:42,911 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:42,911 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:42,912 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:42,912 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:42,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:43,304 INFO L256 TraceCheckUtils]: 0: Hoare triple {21483#true} call ULTIMATE.init(); {21483#true} is VALID [2018-11-23 12:15:43,305 INFO L273 TraceCheckUtils]: 1: Hoare triple {21483#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21483#true} is VALID [2018-11-23 12:15:43,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {21483#true} assume true; {21483#true} is VALID [2018-11-23 12:15:43,305 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21483#true} {21483#true} #66#return; {21483#true} is VALID [2018-11-23 12:15:43,306 INFO L256 TraceCheckUtils]: 4: Hoare triple {21483#true} call #t~ret12 := main(); {21483#true} is VALID [2018-11-23 12:15:43,306 INFO L273 TraceCheckUtils]: 5: Hoare triple {21483#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21483#true} is VALID [2018-11-23 12:15:43,306 INFO L273 TraceCheckUtils]: 6: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,306 INFO L273 TraceCheckUtils]: 7: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,307 INFO L273 TraceCheckUtils]: 8: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,307 INFO L273 TraceCheckUtils]: 9: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,307 INFO L273 TraceCheckUtils]: 10: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,307 INFO L273 TraceCheckUtils]: 11: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 12: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 13: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 14: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 15: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 16: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,308 INFO L273 TraceCheckUtils]: 17: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 18: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 19: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 20: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 21: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 22: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 23: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 24: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 25: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,309 INFO L273 TraceCheckUtils]: 26: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 27: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 28: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 29: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 30: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 31: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 32: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 33: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 34: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 35: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,310 INFO L273 TraceCheckUtils]: 36: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 37: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 38: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 39: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 40: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 41: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 42: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 43: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 44: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:43,311 INFO L273 TraceCheckUtils]: 45: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:43,312 INFO L273 TraceCheckUtils]: 46: Hoare triple {21483#true} assume !(~i~1 < 20); {21483#true} is VALID [2018-11-23 12:15:43,312 INFO L256 TraceCheckUtils]: 47: Hoare triple {21483#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {21483#true} is VALID [2018-11-23 12:15:43,312 INFO L273 TraceCheckUtils]: 48: Hoare triple {21483#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21485#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:43,312 INFO L273 TraceCheckUtils]: 49: Hoare triple {21485#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21485#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:43,313 INFO L273 TraceCheckUtils]: 50: Hoare triple {21485#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21486#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:43,313 INFO L273 TraceCheckUtils]: 51: Hoare triple {21486#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21486#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:43,314 INFO L273 TraceCheckUtils]: 52: Hoare triple {21486#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21487#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:43,314 INFO L273 TraceCheckUtils]: 53: Hoare triple {21487#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21487#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:43,314 INFO L273 TraceCheckUtils]: 54: Hoare triple {21487#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21488#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:43,315 INFO L273 TraceCheckUtils]: 55: Hoare triple {21488#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21488#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:43,315 INFO L273 TraceCheckUtils]: 56: Hoare triple {21488#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21489#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:43,315 INFO L273 TraceCheckUtils]: 57: Hoare triple {21489#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21489#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:43,316 INFO L273 TraceCheckUtils]: 58: Hoare triple {21489#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21490#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:43,316 INFO L273 TraceCheckUtils]: 59: Hoare triple {21490#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21490#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:43,317 INFO L273 TraceCheckUtils]: 60: Hoare triple {21490#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21491#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:43,317 INFO L273 TraceCheckUtils]: 61: Hoare triple {21491#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21491#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:43,318 INFO L273 TraceCheckUtils]: 62: Hoare triple {21491#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21492#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:43,319 INFO L273 TraceCheckUtils]: 63: Hoare triple {21492#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21492#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:43,320 INFO L273 TraceCheckUtils]: 64: Hoare triple {21492#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21493#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:43,320 INFO L273 TraceCheckUtils]: 65: Hoare triple {21493#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21493#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:43,321 INFO L273 TraceCheckUtils]: 66: Hoare triple {21493#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21494#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:43,321 INFO L273 TraceCheckUtils]: 67: Hoare triple {21494#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21494#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:43,322 INFO L273 TraceCheckUtils]: 68: Hoare triple {21494#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21495#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:43,323 INFO L273 TraceCheckUtils]: 69: Hoare triple {21495#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21495#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:43,323 INFO L273 TraceCheckUtils]: 70: Hoare triple {21495#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21496#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:43,324 INFO L273 TraceCheckUtils]: 71: Hoare triple {21496#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21496#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:43,325 INFO L273 TraceCheckUtils]: 72: Hoare triple {21496#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21497#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:43,325 INFO L273 TraceCheckUtils]: 73: Hoare triple {21497#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21497#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:43,326 INFO L273 TraceCheckUtils]: 74: Hoare triple {21497#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21498#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:43,327 INFO L273 TraceCheckUtils]: 75: Hoare triple {21498#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21498#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:43,327 INFO L273 TraceCheckUtils]: 76: Hoare triple {21498#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21499#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:43,328 INFO L273 TraceCheckUtils]: 77: Hoare triple {21499#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21499#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:43,329 INFO L273 TraceCheckUtils]: 78: Hoare triple {21499#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21500#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:43,329 INFO L273 TraceCheckUtils]: 79: Hoare triple {21500#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21500#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:43,330 INFO L273 TraceCheckUtils]: 80: Hoare triple {21500#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21501#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:43,331 INFO L273 TraceCheckUtils]: 81: Hoare triple {21501#(<= avg_~i~0 16)} assume !(~i~0 < 20); {21484#false} is VALID [2018-11-23 12:15:43,331 INFO L273 TraceCheckUtils]: 82: Hoare triple {21484#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21484#false} is VALID [2018-11-23 12:15:43,331 INFO L273 TraceCheckUtils]: 83: Hoare triple {21484#false} assume true; {21484#false} is VALID [2018-11-23 12:15:43,331 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {21484#false} {21483#true} #70#return; {21484#false} is VALID [2018-11-23 12:15:43,332 INFO L273 TraceCheckUtils]: 85: Hoare triple {21484#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {21484#false} is VALID [2018-11-23 12:15:43,332 INFO L256 TraceCheckUtils]: 86: Hoare triple {21484#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {21483#true} is VALID [2018-11-23 12:15:43,332 INFO L273 TraceCheckUtils]: 87: Hoare triple {21483#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21483#true} is VALID [2018-11-23 12:15:43,332 INFO L273 TraceCheckUtils]: 88: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,332 INFO L273 TraceCheckUtils]: 89: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,332 INFO L273 TraceCheckUtils]: 90: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,333 INFO L273 TraceCheckUtils]: 91: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,333 INFO L273 TraceCheckUtils]: 92: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,333 INFO L273 TraceCheckUtils]: 93: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,333 INFO L273 TraceCheckUtils]: 94: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,333 INFO L273 TraceCheckUtils]: 95: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 96: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 97: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 98: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 99: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 100: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,334 INFO L273 TraceCheckUtils]: 101: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,335 INFO L273 TraceCheckUtils]: 102: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,335 INFO L273 TraceCheckUtils]: 103: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,335 INFO L273 TraceCheckUtils]: 104: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,335 INFO L273 TraceCheckUtils]: 105: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,335 INFO L273 TraceCheckUtils]: 106: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 107: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 108: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 109: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 110: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 111: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,336 INFO L273 TraceCheckUtils]: 112: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 113: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 114: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 115: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 116: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 117: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 118: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 119: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 120: Hoare triple {21483#true} assume !(~i~0 < 20); {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 121: Hoare triple {21483#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21483#true} is VALID [2018-11-23 12:15:43,337 INFO L273 TraceCheckUtils]: 122: Hoare triple {21483#true} assume true; {21483#true} is VALID [2018-11-23 12:15:43,338 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {21483#true} {21484#false} #72#return; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 124: Hoare triple {21484#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 125: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 126: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 127: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 128: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 129: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 130: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 131: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,338 INFO L273 TraceCheckUtils]: 132: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 133: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 134: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 135: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 136: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 137: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 138: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 139: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 140: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:43,339 INFO L273 TraceCheckUtils]: 141: Hoare triple {21484#false} assume !(~i~2 < 19); {21484#false} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 142: Hoare triple {21484#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {21484#false} is VALID [2018-11-23 12:15:43,340 INFO L256 TraceCheckUtils]: 143: Hoare triple {21484#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 144: Hoare triple {21483#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 145: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 146: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 147: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 148: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 149: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 150: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,340 INFO L273 TraceCheckUtils]: 151: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 152: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 153: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 154: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 155: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 156: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 157: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 158: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 159: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,341 INFO L273 TraceCheckUtils]: 160: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 161: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 162: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 163: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 164: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 165: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 166: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 167: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 168: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 169: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,342 INFO L273 TraceCheckUtils]: 170: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 171: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 172: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 173: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 174: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 175: Hoare triple {21483#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 176: Hoare triple {21483#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 177: Hoare triple {21483#true} assume !(~i~0 < 20); {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 178: Hoare triple {21483#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21483#true} is VALID [2018-11-23 12:15:43,343 INFO L273 TraceCheckUtils]: 179: Hoare triple {21483#true} assume true; {21483#true} is VALID [2018-11-23 12:15:43,344 INFO L268 TraceCheckUtils]: 180: Hoare quadruple {21483#true} {21484#false} #74#return; {21484#false} is VALID [2018-11-23 12:15:43,344 INFO L273 TraceCheckUtils]: 181: Hoare triple {21484#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {21484#false} is VALID [2018-11-23 12:15:43,344 INFO L273 TraceCheckUtils]: 182: Hoare triple {21484#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21484#false} is VALID [2018-11-23 12:15:43,344 INFO L273 TraceCheckUtils]: 183: Hoare triple {21484#false} assume !false; {21484#false} is VALID [2018-11-23 12:15:43,357 INFO L134 CoverageAnalysis]: Checked inductivity of 2879 backedges. 0 proven. 1352 refuted. 0 times theorem prover too weak. 1527 trivial. 0 not checked. [2018-11-23 12:15:43,357 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:43,358 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:43,367 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:15:46,213 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 34 check-sat command(s) [2018-11-23 12:15:46,214 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:46,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:46,257 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:46,763 INFO L256 TraceCheckUtils]: 0: Hoare triple {21483#true} call ULTIMATE.init(); {21483#true} is VALID [2018-11-23 12:15:46,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {21483#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {21483#true} is VALID [2018-11-23 12:15:46,764 INFO L273 TraceCheckUtils]: 2: Hoare triple {21483#true} assume true; {21483#true} is VALID [2018-11-23 12:15:46,764 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {21483#true} {21483#true} #66#return; {21483#true} is VALID [2018-11-23 12:15:46,764 INFO L256 TraceCheckUtils]: 4: Hoare triple {21483#true} call #t~ret12 := main(); {21483#true} is VALID [2018-11-23 12:15:46,765 INFO L273 TraceCheckUtils]: 5: Hoare triple {21483#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {21483#true} is VALID [2018-11-23 12:15:46,765 INFO L273 TraceCheckUtils]: 6: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,765 INFO L273 TraceCheckUtils]: 7: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,765 INFO L273 TraceCheckUtils]: 8: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,765 INFO L273 TraceCheckUtils]: 9: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 10: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 11: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 12: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 13: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 14: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 15: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 16: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,766 INFO L273 TraceCheckUtils]: 17: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 18: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 19: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 20: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 21: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 22: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 23: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 24: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 25: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 26: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,767 INFO L273 TraceCheckUtils]: 27: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 28: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 29: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 30: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 31: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 32: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 33: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 34: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 35: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 36: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,768 INFO L273 TraceCheckUtils]: 37: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 38: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 39: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 40: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 41: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 42: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 43: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 44: Hoare triple {21483#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 45: Hoare triple {21483#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {21483#true} is VALID [2018-11-23 12:15:46,769 INFO L273 TraceCheckUtils]: 46: Hoare triple {21483#true} assume !(~i~1 < 20); {21483#true} is VALID [2018-11-23 12:15:46,770 INFO L256 TraceCheckUtils]: 47: Hoare triple {21483#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {21483#true} is VALID [2018-11-23 12:15:46,770 INFO L273 TraceCheckUtils]: 48: Hoare triple {21483#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21649#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:46,770 INFO L273 TraceCheckUtils]: 49: Hoare triple {21649#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21649#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:46,771 INFO L273 TraceCheckUtils]: 50: Hoare triple {21649#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21486#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:46,771 INFO L273 TraceCheckUtils]: 51: Hoare triple {21486#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21486#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:46,771 INFO L273 TraceCheckUtils]: 52: Hoare triple {21486#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21487#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:46,772 INFO L273 TraceCheckUtils]: 53: Hoare triple {21487#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21487#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:46,772 INFO L273 TraceCheckUtils]: 54: Hoare triple {21487#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21488#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:46,773 INFO L273 TraceCheckUtils]: 55: Hoare triple {21488#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21488#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:46,773 INFO L273 TraceCheckUtils]: 56: Hoare triple {21488#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21489#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:46,773 INFO L273 TraceCheckUtils]: 57: Hoare triple {21489#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21489#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:46,774 INFO L273 TraceCheckUtils]: 58: Hoare triple {21489#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21490#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:46,774 INFO L273 TraceCheckUtils]: 59: Hoare triple {21490#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21490#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:46,775 INFO L273 TraceCheckUtils]: 60: Hoare triple {21490#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21491#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:46,775 INFO L273 TraceCheckUtils]: 61: Hoare triple {21491#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21491#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:46,776 INFO L273 TraceCheckUtils]: 62: Hoare triple {21491#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21492#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:46,777 INFO L273 TraceCheckUtils]: 63: Hoare triple {21492#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21492#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:46,777 INFO L273 TraceCheckUtils]: 64: Hoare triple {21492#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21493#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:46,778 INFO L273 TraceCheckUtils]: 65: Hoare triple {21493#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21493#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:46,779 INFO L273 TraceCheckUtils]: 66: Hoare triple {21493#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21494#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:46,779 INFO L273 TraceCheckUtils]: 67: Hoare triple {21494#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21494#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:46,780 INFO L273 TraceCheckUtils]: 68: Hoare triple {21494#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21495#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:46,780 INFO L273 TraceCheckUtils]: 69: Hoare triple {21495#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21495#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:46,781 INFO L273 TraceCheckUtils]: 70: Hoare triple {21495#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21496#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:46,782 INFO L273 TraceCheckUtils]: 71: Hoare triple {21496#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21496#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:46,782 INFO L273 TraceCheckUtils]: 72: Hoare triple {21496#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21497#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:46,783 INFO L273 TraceCheckUtils]: 73: Hoare triple {21497#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21497#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:46,783 INFO L273 TraceCheckUtils]: 74: Hoare triple {21497#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21498#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:46,784 INFO L273 TraceCheckUtils]: 75: Hoare triple {21498#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21498#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:46,785 INFO L273 TraceCheckUtils]: 76: Hoare triple {21498#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21499#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:46,785 INFO L273 TraceCheckUtils]: 77: Hoare triple {21499#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21499#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:46,786 INFO L273 TraceCheckUtils]: 78: Hoare triple {21499#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21500#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:46,786 INFO L273 TraceCheckUtils]: 79: Hoare triple {21500#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21500#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:46,787 INFO L273 TraceCheckUtils]: 80: Hoare triple {21500#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21501#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:46,788 INFO L273 TraceCheckUtils]: 81: Hoare triple {21501#(<= avg_~i~0 16)} assume !(~i~0 < 20); {21484#false} is VALID [2018-11-23 12:15:46,788 INFO L273 TraceCheckUtils]: 82: Hoare triple {21484#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21484#false} is VALID [2018-11-23 12:15:46,788 INFO L273 TraceCheckUtils]: 83: Hoare triple {21484#false} assume true; {21484#false} is VALID [2018-11-23 12:15:46,788 INFO L268 TraceCheckUtils]: 84: Hoare quadruple {21484#false} {21483#true} #70#return; {21484#false} is VALID [2018-11-23 12:15:46,789 INFO L273 TraceCheckUtils]: 85: Hoare triple {21484#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {21484#false} is VALID [2018-11-23 12:15:46,789 INFO L256 TraceCheckUtils]: 86: Hoare triple {21484#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {21484#false} is VALID [2018-11-23 12:15:46,789 INFO L273 TraceCheckUtils]: 87: Hoare triple {21484#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21484#false} is VALID [2018-11-23 12:15:46,789 INFO L273 TraceCheckUtils]: 88: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,789 INFO L273 TraceCheckUtils]: 89: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 90: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 91: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 92: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 93: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 94: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,790 INFO L273 TraceCheckUtils]: 95: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 96: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 97: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 98: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 99: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 100: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 101: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 102: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,791 INFO L273 TraceCheckUtils]: 103: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 104: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 105: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 106: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 107: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 108: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 109: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 110: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 111: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 112: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,792 INFO L273 TraceCheckUtils]: 113: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 114: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 115: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 116: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 117: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 118: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 119: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 120: Hoare triple {21484#false} assume !(~i~0 < 20); {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 121: Hoare triple {21484#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21484#false} is VALID [2018-11-23 12:15:46,793 INFO L273 TraceCheckUtils]: 122: Hoare triple {21484#false} assume true; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L268 TraceCheckUtils]: 123: Hoare quadruple {21484#false} {21484#false} #72#return; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 124: Hoare triple {21484#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 125: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 126: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 127: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 128: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 129: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 130: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 131: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,794 INFO L273 TraceCheckUtils]: 132: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 133: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 134: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 135: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 136: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 137: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 138: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 139: Hoare triple {21484#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 140: Hoare triple {21484#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {21484#false} is VALID [2018-11-23 12:15:46,795 INFO L273 TraceCheckUtils]: 141: Hoare triple {21484#false} assume !(~i~2 < 19); {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 142: Hoare triple {21484#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L256 TraceCheckUtils]: 143: Hoare triple {21484#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 144: Hoare triple {21484#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 145: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 146: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 147: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 148: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 149: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,796 INFO L273 TraceCheckUtils]: 150: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 151: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 152: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 153: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 154: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 155: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 156: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 157: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 158: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,797 INFO L273 TraceCheckUtils]: 159: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,798 INFO L273 TraceCheckUtils]: 160: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 161: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 162: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 163: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 164: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 165: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,800 INFO L273 TraceCheckUtils]: 166: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 167: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 168: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 169: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 170: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 171: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 172: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,801 INFO L273 TraceCheckUtils]: 173: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 174: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 175: Hoare triple {21484#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 176: Hoare triple {21484#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 177: Hoare triple {21484#false} assume !(~i~0 < 20); {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 178: Hoare triple {21484#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L273 TraceCheckUtils]: 179: Hoare triple {21484#false} assume true; {21484#false} is VALID [2018-11-23 12:15:46,802 INFO L268 TraceCheckUtils]: 180: Hoare quadruple {21484#false} {21484#false} #74#return; {21484#false} is VALID [2018-11-23 12:15:46,803 INFO L273 TraceCheckUtils]: 181: Hoare triple {21484#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {21484#false} is VALID [2018-11-23 12:15:46,803 INFO L273 TraceCheckUtils]: 182: Hoare triple {21484#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {21484#false} is VALID [2018-11-23 12:15:46,803 INFO L273 TraceCheckUtils]: 183: Hoare triple {21484#false} assume !false; {21484#false} is VALID [2018-11-23 12:15:46,821 INFO L134 CoverageAnalysis]: Checked inductivity of 2879 backedges. 1092 proven. 256 refuted. 0 times theorem prover too weak. 1531 trivial. 0 not checked. [2018-11-23 12:15:46,844 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:46,844 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:15:46,845 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 184 [2018-11-23 12:15:46,845 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:46,845 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:15:46,919 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:15:46,920 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:15:46,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:15:46,920 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:15:46,921 INFO L87 Difference]: Start difference. First operand 111 states and 115 transitions. Second operand 20 states. [2018-11-23 12:15:47,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:47,555 INFO L93 Difference]: Finished difference Result 177 states and 187 transitions. [2018-11-23 12:15:47,555 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:15:47,556 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 184 [2018-11-23 12:15:47,556 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:47,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:15:47,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 87 transitions. [2018-11-23 12:15:47,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:15:47,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 87 transitions. [2018-11-23 12:15:47,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 87 transitions. [2018-11-23 12:15:47,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:47,682 INFO L225 Difference]: With dead ends: 177 [2018-11-23 12:15:47,683 INFO L226 Difference]: Without dead ends: 114 [2018-11-23 12:15:47,683 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 184 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:15:47,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-23 12:15:47,779 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 113. [2018-11-23 12:15:47,779 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:47,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:47,779 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:47,780 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 113 states. [2018-11-23 12:15:47,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:47,782 INFO L93 Difference]: Finished difference Result 114 states and 118 transitions. [2018-11-23 12:15:47,783 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 118 transitions. [2018-11-23 12:15:47,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:47,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:47,783 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 114 states. [2018-11-23 12:15:47,783 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 114 states. [2018-11-23 12:15:47,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:47,785 INFO L93 Difference]: Finished difference Result 114 states and 118 transitions. [2018-11-23 12:15:47,786 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 118 transitions. [2018-11-23 12:15:47,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:47,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:47,786 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:47,786 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:47,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2018-11-23 12:15:47,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 117 transitions. [2018-11-23 12:15:47,788 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 117 transitions. Word has length 184 [2018-11-23 12:15:47,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:47,788 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 117 transitions. [2018-11-23 12:15:47,788 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:15:47,788 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 117 transitions. [2018-11-23 12:15:47,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 191 [2018-11-23 12:15:47,789 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:47,789 INFO L402 BasicCegarLoop]: trace histogram [51, 51, 20, 20, 8, 8, 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:15:47,789 INFO L423 AbstractCegarLoop]: === Iteration 34 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:47,790 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:47,790 INFO L82 PathProgramCache]: Analyzing trace with hash 507596545, now seen corresponding path program 30 times [2018-11-23 12:15:47,790 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:47,790 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:47,790 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:47,791 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:47,791 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:47,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:48,604 INFO L256 TraceCheckUtils]: 0: Hoare triple {22713#true} call ULTIMATE.init(); {22713#true} is VALID [2018-11-23 12:15:48,604 INFO L273 TraceCheckUtils]: 1: Hoare triple {22713#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {22713#true} is VALID [2018-11-23 12:15:48,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:48,605 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {22713#true} {22713#true} #66#return; {22713#true} is VALID [2018-11-23 12:15:48,605 INFO L256 TraceCheckUtils]: 4: Hoare triple {22713#true} call #t~ret12 := main(); {22713#true} is VALID [2018-11-23 12:15:48,605 INFO L273 TraceCheckUtils]: 5: Hoare triple {22713#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {22713#true} is VALID [2018-11-23 12:15:48,605 INFO L273 TraceCheckUtils]: 6: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,606 INFO L273 TraceCheckUtils]: 7: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,606 INFO L273 TraceCheckUtils]: 8: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,606 INFO L273 TraceCheckUtils]: 9: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,606 INFO L273 TraceCheckUtils]: 10: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,606 INFO L273 TraceCheckUtils]: 11: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 12: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 13: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 14: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 15: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 16: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,607 INFO L273 TraceCheckUtils]: 18: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 19: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 20: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 21: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 22: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 23: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 24: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 25: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,608 INFO L273 TraceCheckUtils]: 26: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 27: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 28: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 29: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 30: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 31: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 32: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,609 INFO L273 TraceCheckUtils]: 33: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 34: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 35: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 36: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 37: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 38: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 39: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,610 INFO L273 TraceCheckUtils]: 40: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 41: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 42: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 43: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 44: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 45: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L273 TraceCheckUtils]: 46: Hoare triple {22713#true} assume !(~i~1 < 20); {22713#true} is VALID [2018-11-23 12:15:48,611 INFO L256 TraceCheckUtils]: 47: Hoare triple {22713#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {22713#true} is VALID [2018-11-23 12:15:48,612 INFO L273 TraceCheckUtils]: 48: Hoare triple {22713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22715#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:48,612 INFO L273 TraceCheckUtils]: 49: Hoare triple {22715#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22715#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:48,613 INFO L273 TraceCheckUtils]: 50: Hoare triple {22715#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22716#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:48,613 INFO L273 TraceCheckUtils]: 51: Hoare triple {22716#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22716#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:48,614 INFO L273 TraceCheckUtils]: 52: Hoare triple {22716#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22717#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:48,614 INFO L273 TraceCheckUtils]: 53: Hoare triple {22717#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22717#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:48,614 INFO L273 TraceCheckUtils]: 54: Hoare triple {22717#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22718#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:48,615 INFO L273 TraceCheckUtils]: 55: Hoare triple {22718#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22718#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:48,615 INFO L273 TraceCheckUtils]: 56: Hoare triple {22718#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22719#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:48,616 INFO L273 TraceCheckUtils]: 57: Hoare triple {22719#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22719#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:48,616 INFO L273 TraceCheckUtils]: 58: Hoare triple {22719#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22720#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:48,617 INFO L273 TraceCheckUtils]: 59: Hoare triple {22720#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22720#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:48,618 INFO L273 TraceCheckUtils]: 60: Hoare triple {22720#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22721#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:48,618 INFO L273 TraceCheckUtils]: 61: Hoare triple {22721#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22721#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:48,619 INFO L273 TraceCheckUtils]: 62: Hoare triple {22721#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22722#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:48,620 INFO L273 TraceCheckUtils]: 63: Hoare triple {22722#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22722#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:48,620 INFO L273 TraceCheckUtils]: 64: Hoare triple {22722#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22723#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:48,621 INFO L273 TraceCheckUtils]: 65: Hoare triple {22723#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22723#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:48,622 INFO L273 TraceCheckUtils]: 66: Hoare triple {22723#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22724#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:48,623 INFO L273 TraceCheckUtils]: 67: Hoare triple {22724#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22724#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:48,623 INFO L273 TraceCheckUtils]: 68: Hoare triple {22724#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22725#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:48,624 INFO L273 TraceCheckUtils]: 69: Hoare triple {22725#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22725#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:48,625 INFO L273 TraceCheckUtils]: 70: Hoare triple {22725#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22726#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:48,625 INFO L273 TraceCheckUtils]: 71: Hoare triple {22726#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22726#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:48,626 INFO L273 TraceCheckUtils]: 72: Hoare triple {22726#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22727#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:48,627 INFO L273 TraceCheckUtils]: 73: Hoare triple {22727#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22727#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:48,628 INFO L273 TraceCheckUtils]: 74: Hoare triple {22727#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22728#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:48,628 INFO L273 TraceCheckUtils]: 75: Hoare triple {22728#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22728#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:48,629 INFO L273 TraceCheckUtils]: 76: Hoare triple {22728#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22729#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:48,630 INFO L273 TraceCheckUtils]: 77: Hoare triple {22729#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22729#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:48,631 INFO L273 TraceCheckUtils]: 78: Hoare triple {22729#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22730#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:48,631 INFO L273 TraceCheckUtils]: 79: Hoare triple {22730#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22730#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:48,632 INFO L273 TraceCheckUtils]: 80: Hoare triple {22730#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22731#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:48,633 INFO L273 TraceCheckUtils]: 81: Hoare triple {22731#(<= avg_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22731#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:48,633 INFO L273 TraceCheckUtils]: 82: Hoare triple {22731#(<= avg_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22732#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:48,634 INFO L273 TraceCheckUtils]: 83: Hoare triple {22732#(<= avg_~i~0 17)} assume !(~i~0 < 20); {22714#false} is VALID [2018-11-23 12:15:48,635 INFO L273 TraceCheckUtils]: 84: Hoare triple {22714#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22714#false} is VALID [2018-11-23 12:15:48,635 INFO L273 TraceCheckUtils]: 85: Hoare triple {22714#false} assume true; {22714#false} is VALID [2018-11-23 12:15:48,635 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {22714#false} {22713#true} #70#return; {22714#false} is VALID [2018-11-23 12:15:48,635 INFO L273 TraceCheckUtils]: 87: Hoare triple {22714#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {22714#false} is VALID [2018-11-23 12:15:48,635 INFO L256 TraceCheckUtils]: 88: Hoare triple {22714#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {22713#true} is VALID [2018-11-23 12:15:48,636 INFO L273 TraceCheckUtils]: 89: Hoare triple {22713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22713#true} is VALID [2018-11-23 12:15:48,636 INFO L273 TraceCheckUtils]: 90: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,636 INFO L273 TraceCheckUtils]: 91: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,636 INFO L273 TraceCheckUtils]: 92: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,637 INFO L273 TraceCheckUtils]: 93: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,637 INFO L273 TraceCheckUtils]: 94: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,637 INFO L273 TraceCheckUtils]: 95: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,637 INFO L273 TraceCheckUtils]: 96: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 97: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 98: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 99: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 100: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 101: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 102: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,638 INFO L273 TraceCheckUtils]: 103: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 104: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 105: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 106: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 107: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 108: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 109: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,639 INFO L273 TraceCheckUtils]: 110: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 111: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 112: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 113: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 114: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 115: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,640 INFO L273 TraceCheckUtils]: 116: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,641 INFO L273 TraceCheckUtils]: 117: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,641 INFO L273 TraceCheckUtils]: 118: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,641 INFO L273 TraceCheckUtils]: 119: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,641 INFO L273 TraceCheckUtils]: 120: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,642 INFO L273 TraceCheckUtils]: 121: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,642 INFO L273 TraceCheckUtils]: 122: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,642 INFO L273 TraceCheckUtils]: 123: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,642 INFO L273 TraceCheckUtils]: 124: Hoare triple {22713#true} assume !(~i~0 < 20); {22713#true} is VALID [2018-11-23 12:15:48,642 INFO L273 TraceCheckUtils]: 125: Hoare triple {22713#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22713#true} is VALID [2018-11-23 12:15:48,643 INFO L273 TraceCheckUtils]: 126: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:48,643 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {22713#true} {22714#false} #72#return; {22714#false} is VALID [2018-11-23 12:15:48,643 INFO L273 TraceCheckUtils]: 128: Hoare triple {22714#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {22714#false} is VALID [2018-11-23 12:15:48,643 INFO L273 TraceCheckUtils]: 129: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,643 INFO L273 TraceCheckUtils]: 130: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 131: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 132: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 133: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 134: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 135: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,644 INFO L273 TraceCheckUtils]: 136: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 137: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 138: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 139: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 140: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 141: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,645 INFO L273 TraceCheckUtils]: 142: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,646 INFO L273 TraceCheckUtils]: 143: Hoare triple {22714#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {22714#false} is VALID [2018-11-23 12:15:48,646 INFO L273 TraceCheckUtils]: 144: Hoare triple {22714#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {22714#false} is VALID [2018-11-23 12:15:48,646 INFO L273 TraceCheckUtils]: 145: Hoare triple {22714#false} assume !(~i~2 < 19); {22714#false} is VALID [2018-11-23 12:15:48,646 INFO L273 TraceCheckUtils]: 146: Hoare triple {22714#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {22714#false} is VALID [2018-11-23 12:15:48,646 INFO L256 TraceCheckUtils]: 147: Hoare triple {22714#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {22713#true} is VALID [2018-11-23 12:15:48,646 INFO L273 TraceCheckUtils]: 148: Hoare triple {22713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 149: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 150: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 151: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 152: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 153: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 154: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,647 INFO L273 TraceCheckUtils]: 155: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 156: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 157: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 158: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 159: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 160: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 161: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,648 INFO L273 TraceCheckUtils]: 162: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 163: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 164: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 165: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 166: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 167: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 168: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,649 INFO L273 TraceCheckUtils]: 169: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 170: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 171: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 172: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 173: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 174: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,650 INFO L273 TraceCheckUtils]: 175: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 176: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 177: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 178: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 179: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 180: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 181: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 182: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 183: Hoare triple {22713#true} assume !(~i~0 < 20); {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 184: Hoare triple {22713#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22713#true} is VALID [2018-11-23 12:15:48,651 INFO L273 TraceCheckUtils]: 185: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:48,652 INFO L268 TraceCheckUtils]: 186: Hoare quadruple {22713#true} {22714#false} #74#return; {22714#false} is VALID [2018-11-23 12:15:48,652 INFO L273 TraceCheckUtils]: 187: Hoare triple {22714#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {22714#false} is VALID [2018-11-23 12:15:48,652 INFO L273 TraceCheckUtils]: 188: Hoare triple {22714#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {22714#false} is VALID [2018-11-23 12:15:48,652 INFO L273 TraceCheckUtils]: 189: Hoare triple {22714#false} assume !false; {22714#false} is VALID [2018-11-23 12:15:48,689 INFO L134 CoverageAnalysis]: Checked inductivity of 3182 backedges. 0 proven. 1521 refuted. 0 times theorem prover too weak. 1661 trivial. 0 not checked. [2018-11-23 12:15:48,689 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:48,689 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:48,697 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:15:48,987 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2018-11-23 12:15:48,988 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:49,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:49,075 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:49,414 INFO L256 TraceCheckUtils]: 0: Hoare triple {22713#true} call ULTIMATE.init(); {22713#true} is VALID [2018-11-23 12:15:49,414 INFO L273 TraceCheckUtils]: 1: Hoare triple {22713#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 2: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {22713#true} {22713#true} #66#return; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L256 TraceCheckUtils]: 4: Hoare triple {22713#true} call #t~ret12 := main(); {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 5: Hoare triple {22713#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 6: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 7: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 8: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 9: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,415 INFO L273 TraceCheckUtils]: 10: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 13: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 14: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 15: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 16: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 17: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 18: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,416 INFO L273 TraceCheckUtils]: 19: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 20: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 21: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 22: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 23: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 24: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 25: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 26: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 27: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 28: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,417 INFO L273 TraceCheckUtils]: 29: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 30: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 31: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 32: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 33: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 34: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 35: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 36: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 37: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 38: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,418 INFO L273 TraceCheckUtils]: 39: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 40: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 41: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 42: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 43: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 44: Hoare triple {22713#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 45: Hoare triple {22713#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 46: Hoare triple {22713#true} assume !(~i~1 < 20); {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L256 TraceCheckUtils]: 47: Hoare triple {22713#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {22713#true} is VALID [2018-11-23 12:15:49,419 INFO L273 TraceCheckUtils]: 48: Hoare triple {22713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 49: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 50: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 51: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 52: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 53: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 54: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 55: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 56: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 57: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,420 INFO L273 TraceCheckUtils]: 58: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 59: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 60: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 61: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 62: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 63: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 64: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 65: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 66: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 67: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,421 INFO L273 TraceCheckUtils]: 68: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 69: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 70: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 71: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 72: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 73: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 74: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 75: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 76: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,422 INFO L273 TraceCheckUtils]: 77: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 78: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 79: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 80: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 81: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 82: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 83: Hoare triple {22713#true} assume !(~i~0 < 20); {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 84: Hoare triple {22713#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 85: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L268 TraceCheckUtils]: 86: Hoare quadruple {22713#true} {22713#true} #70#return; {22713#true} is VALID [2018-11-23 12:15:49,423 INFO L273 TraceCheckUtils]: 87: Hoare triple {22713#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L256 TraceCheckUtils]: 88: Hoare triple {22713#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 89: Hoare triple {22713#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 90: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 91: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 92: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 93: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 94: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 95: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,424 INFO L273 TraceCheckUtils]: 96: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 97: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 98: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 99: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 100: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 101: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 102: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 103: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 104: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 105: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,425 INFO L273 TraceCheckUtils]: 106: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 107: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 108: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 109: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 110: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 111: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 112: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 113: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 114: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,426 INFO L273 TraceCheckUtils]: 115: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 116: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 117: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 118: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 119: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 120: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 121: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 122: Hoare triple {22713#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 123: Hoare triple {22713#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 124: Hoare triple {22713#true} assume !(~i~0 < 20); {22713#true} is VALID [2018-11-23 12:15:49,427 INFO L273 TraceCheckUtils]: 125: Hoare triple {22713#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22713#true} is VALID [2018-11-23 12:15:49,428 INFO L273 TraceCheckUtils]: 126: Hoare triple {22713#true} assume true; {22713#true} is VALID [2018-11-23 12:15:49,428 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {22713#true} {22713#true} #72#return; {22713#true} is VALID [2018-11-23 12:15:49,428 INFO L273 TraceCheckUtils]: 128: Hoare triple {22713#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {23120#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:49,428 INFO L273 TraceCheckUtils]: 129: Hoare triple {23120#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23120#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:49,429 INFO L273 TraceCheckUtils]: 130: Hoare triple {23120#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23127#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:49,429 INFO L273 TraceCheckUtils]: 131: Hoare triple {23127#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23127#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:49,430 INFO L273 TraceCheckUtils]: 132: Hoare triple {23127#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23134#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:49,430 INFO L273 TraceCheckUtils]: 133: Hoare triple {23134#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23134#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:49,430 INFO L273 TraceCheckUtils]: 134: Hoare triple {23134#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23141#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:49,431 INFO L273 TraceCheckUtils]: 135: Hoare triple {23141#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23141#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:49,431 INFO L273 TraceCheckUtils]: 136: Hoare triple {23141#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23148#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:49,431 INFO L273 TraceCheckUtils]: 137: Hoare triple {23148#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23148#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:49,432 INFO L273 TraceCheckUtils]: 138: Hoare triple {23148#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23155#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:49,432 INFO L273 TraceCheckUtils]: 139: Hoare triple {23155#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23155#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:49,433 INFO L273 TraceCheckUtils]: 140: Hoare triple {23155#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23162#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:49,434 INFO L273 TraceCheckUtils]: 141: Hoare triple {23162#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23162#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:49,434 INFO L273 TraceCheckUtils]: 142: Hoare triple {23162#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23169#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:49,435 INFO L273 TraceCheckUtils]: 143: Hoare triple {23169#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23169#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:49,436 INFO L273 TraceCheckUtils]: 144: Hoare triple {23169#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23176#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:49,436 INFO L273 TraceCheckUtils]: 145: Hoare triple {23176#(<= main_~i~2 8)} assume !(~i~2 < 19); {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L273 TraceCheckUtils]: 146: Hoare triple {22714#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L256 TraceCheckUtils]: 147: Hoare triple {22714#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L273 TraceCheckUtils]: 148: Hoare triple {22714#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L273 TraceCheckUtils]: 149: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L273 TraceCheckUtils]: 150: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,437 INFO L273 TraceCheckUtils]: 151: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 152: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 153: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 154: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 155: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 156: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,438 INFO L273 TraceCheckUtils]: 157: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,439 INFO L273 TraceCheckUtils]: 158: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,439 INFO L273 TraceCheckUtils]: 159: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,439 INFO L273 TraceCheckUtils]: 160: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,439 INFO L273 TraceCheckUtils]: 161: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,439 INFO L273 TraceCheckUtils]: 162: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 163: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 164: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 165: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 166: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 167: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,440 INFO L273 TraceCheckUtils]: 168: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 169: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 170: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 171: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 172: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 173: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 174: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,441 INFO L273 TraceCheckUtils]: 175: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 176: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 177: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 178: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 179: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 180: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,442 INFO L273 TraceCheckUtils]: 181: Hoare triple {22714#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L273 TraceCheckUtils]: 182: Hoare triple {22714#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L273 TraceCheckUtils]: 183: Hoare triple {22714#false} assume !(~i~0 < 20); {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L273 TraceCheckUtils]: 184: Hoare triple {22714#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L273 TraceCheckUtils]: 185: Hoare triple {22714#false} assume true; {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L268 TraceCheckUtils]: 186: Hoare quadruple {22714#false} {22714#false} #74#return; {22714#false} is VALID [2018-11-23 12:15:49,443 INFO L273 TraceCheckUtils]: 187: Hoare triple {22714#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {22714#false} is VALID [2018-11-23 12:15:49,444 INFO L273 TraceCheckUtils]: 188: Hoare triple {22714#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {22714#false} is VALID [2018-11-23 12:15:49,444 INFO L273 TraceCheckUtils]: 189: Hoare triple {22714#false} assume !false; {22714#false} is VALID [2018-11-23 12:15:49,461 INFO L134 CoverageAnalysis]: Checked inductivity of 3182 backedges. 1234 proven. 64 refuted. 0 times theorem prover too weak. 1884 trivial. 0 not checked. [2018-11-23 12:15:49,491 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:49,492 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 29 [2018-11-23 12:15:49,492 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 190 [2018-11-23 12:15:49,493 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:49,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 12:15:49,683 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:49,683 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 12:15:49,683 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 12:15:49,684 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=568, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:15:49,684 INFO L87 Difference]: Start difference. First operand 113 states and 117 transitions. Second operand 29 states. [2018-11-23 12:15:50,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:50,230 INFO L93 Difference]: Finished difference Result 184 states and 195 transitions. [2018-11-23 12:15:50,230 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 12:15:50,230 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 190 [2018-11-23 12:15:50,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:50,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:15:50,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2018-11-23 12:15:50,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:15:50,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2018-11-23 12:15:50,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 108 transitions. [2018-11-23 12:15:50,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:50,334 INFO L225 Difference]: With dead ends: 184 [2018-11-23 12:15:50,334 INFO L226 Difference]: Without dead ends: 119 [2018-11-23 12:15:50,335 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 209 GetRequests, 182 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 153 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=244, Invalid=568, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:15:50,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-11-23 12:15:50,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 117. [2018-11-23 12:15:50,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:50,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 117 states. [2018-11-23 12:15:50,375 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 117 states. [2018-11-23 12:15:50,376 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 117 states. [2018-11-23 12:15:50,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:50,378 INFO L93 Difference]: Finished difference Result 119 states and 123 transitions. [2018-11-23 12:15:50,378 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 123 transitions. [2018-11-23 12:15:50,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:50,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:50,379 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 119 states. [2018-11-23 12:15:50,379 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 119 states. [2018-11-23 12:15:50,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:50,380 INFO L93 Difference]: Finished difference Result 119 states and 123 transitions. [2018-11-23 12:15:50,380 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 123 transitions. [2018-11-23 12:15:50,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:50,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:50,381 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:50,381 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:50,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-11-23 12:15:50,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 121 transitions. [2018-11-23 12:15:50,383 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 121 transitions. Word has length 190 [2018-11-23 12:15:50,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:50,383 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 121 transitions. [2018-11-23 12:15:50,383 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 12:15:50,383 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 121 transitions. [2018-11-23 12:15:50,384 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 199 [2018-11-23 12:15:50,384 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:50,384 INFO L402 BasicCegarLoop]: trace histogram [54, 54, 20, 20, 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] [2018-11-23 12:15:50,384 INFO L423 AbstractCegarLoop]: === Iteration 35 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:50,384 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:50,384 INFO L82 PathProgramCache]: Analyzing trace with hash 1881977981, now seen corresponding path program 31 times [2018-11-23 12:15:50,384 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:50,385 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:50,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:50,385 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:50,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:50,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:50,830 INFO L256 TraceCheckUtils]: 0: Hoare triple {23996#true} call ULTIMATE.init(); {23996#true} is VALID [2018-11-23 12:15:50,830 INFO L273 TraceCheckUtils]: 1: Hoare triple {23996#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23996#true} is VALID [2018-11-23 12:15:50,830 INFO L273 TraceCheckUtils]: 2: Hoare triple {23996#true} assume true; {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23996#true} {23996#true} #66#return; {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L256 TraceCheckUtils]: 4: Hoare triple {23996#true} call #t~ret12 := main(); {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L273 TraceCheckUtils]: 5: Hoare triple {23996#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L273 TraceCheckUtils]: 6: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L273 TraceCheckUtils]: 7: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,831 INFO L273 TraceCheckUtils]: 8: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 9: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 10: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 11: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 12: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 13: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,832 INFO L273 TraceCheckUtils]: 14: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 15: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 16: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 17: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 18: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 19: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,833 INFO L273 TraceCheckUtils]: 20: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 21: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 22: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 23: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 24: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 25: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,834 INFO L273 TraceCheckUtils]: 26: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 27: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 28: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 29: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 30: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 31: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 32: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 33: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 34: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,835 INFO L273 TraceCheckUtils]: 35: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 36: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 37: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 38: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 39: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 40: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 41: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 42: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 43: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 44: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:50,836 INFO L273 TraceCheckUtils]: 45: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:50,837 INFO L273 TraceCheckUtils]: 46: Hoare triple {23996#true} assume !(~i~1 < 20); {23996#true} is VALID [2018-11-23 12:15:50,837 INFO L256 TraceCheckUtils]: 47: Hoare triple {23996#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {23996#true} is VALID [2018-11-23 12:15:50,837 INFO L273 TraceCheckUtils]: 48: Hoare triple {23996#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {23998#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:50,837 INFO L273 TraceCheckUtils]: 49: Hoare triple {23998#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23998#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:50,838 INFO L273 TraceCheckUtils]: 50: Hoare triple {23998#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23999#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:50,838 INFO L273 TraceCheckUtils]: 51: Hoare triple {23999#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23999#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:50,838 INFO L273 TraceCheckUtils]: 52: Hoare triple {23999#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24000#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:50,839 INFO L273 TraceCheckUtils]: 53: Hoare triple {24000#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24000#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:50,839 INFO L273 TraceCheckUtils]: 54: Hoare triple {24000#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24001#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:50,839 INFO L273 TraceCheckUtils]: 55: Hoare triple {24001#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24001#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:50,840 INFO L273 TraceCheckUtils]: 56: Hoare triple {24001#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24002#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:50,841 INFO L273 TraceCheckUtils]: 57: Hoare triple {24002#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24002#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:50,841 INFO L273 TraceCheckUtils]: 58: Hoare triple {24002#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24003#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:50,842 INFO L273 TraceCheckUtils]: 59: Hoare triple {24003#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24003#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:50,843 INFO L273 TraceCheckUtils]: 60: Hoare triple {24003#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24004#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:50,843 INFO L273 TraceCheckUtils]: 61: Hoare triple {24004#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24004#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:50,844 INFO L273 TraceCheckUtils]: 62: Hoare triple {24004#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24005#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:50,844 INFO L273 TraceCheckUtils]: 63: Hoare triple {24005#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24005#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:50,845 INFO L273 TraceCheckUtils]: 64: Hoare triple {24005#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24006#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:50,845 INFO L273 TraceCheckUtils]: 65: Hoare triple {24006#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24006#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:50,846 INFO L273 TraceCheckUtils]: 66: Hoare triple {24006#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24007#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:50,847 INFO L273 TraceCheckUtils]: 67: Hoare triple {24007#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24007#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:50,847 INFO L273 TraceCheckUtils]: 68: Hoare triple {24007#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24008#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:50,848 INFO L273 TraceCheckUtils]: 69: Hoare triple {24008#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24008#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:50,848 INFO L273 TraceCheckUtils]: 70: Hoare triple {24008#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24009#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:50,849 INFO L273 TraceCheckUtils]: 71: Hoare triple {24009#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24009#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:50,850 INFO L273 TraceCheckUtils]: 72: Hoare triple {24009#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24010#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:50,850 INFO L273 TraceCheckUtils]: 73: Hoare triple {24010#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24010#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:50,851 INFO L273 TraceCheckUtils]: 74: Hoare triple {24010#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24011#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:50,851 INFO L273 TraceCheckUtils]: 75: Hoare triple {24011#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24011#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:50,852 INFO L273 TraceCheckUtils]: 76: Hoare triple {24011#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24012#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:50,852 INFO L273 TraceCheckUtils]: 77: Hoare triple {24012#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24012#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:50,853 INFO L273 TraceCheckUtils]: 78: Hoare triple {24012#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24013#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:50,853 INFO L273 TraceCheckUtils]: 79: Hoare triple {24013#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24013#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:50,854 INFO L273 TraceCheckUtils]: 80: Hoare triple {24013#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24014#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:50,855 INFO L273 TraceCheckUtils]: 81: Hoare triple {24014#(<= avg_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24014#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:50,855 INFO L273 TraceCheckUtils]: 82: Hoare triple {24014#(<= avg_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24015#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:50,856 INFO L273 TraceCheckUtils]: 83: Hoare triple {24015#(<= avg_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24015#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:50,857 INFO L273 TraceCheckUtils]: 84: Hoare triple {24015#(<= avg_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24016#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:50,857 INFO L273 TraceCheckUtils]: 85: Hoare triple {24016#(<= avg_~i~0 18)} assume !(~i~0 < 20); {23997#false} is VALID [2018-11-23 12:15:50,857 INFO L273 TraceCheckUtils]: 86: Hoare triple {23997#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23997#false} is VALID [2018-11-23 12:15:50,858 INFO L273 TraceCheckUtils]: 87: Hoare triple {23997#false} assume true; {23997#false} is VALID [2018-11-23 12:15:50,858 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {23997#false} {23996#true} #70#return; {23997#false} is VALID [2018-11-23 12:15:50,858 INFO L273 TraceCheckUtils]: 89: Hoare triple {23997#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {23997#false} is VALID [2018-11-23 12:15:50,858 INFO L256 TraceCheckUtils]: 90: Hoare triple {23997#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {23996#true} is VALID [2018-11-23 12:15:50,858 INFO L273 TraceCheckUtils]: 91: Hoare triple {23996#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {23996#true} is VALID [2018-11-23 12:15:50,858 INFO L273 TraceCheckUtils]: 92: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 93: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 94: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 95: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 96: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 97: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,859 INFO L273 TraceCheckUtils]: 98: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 99: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 100: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 101: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 102: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 103: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,860 INFO L273 TraceCheckUtils]: 104: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 105: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 106: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 107: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 108: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 109: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 110: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,861 INFO L273 TraceCheckUtils]: 111: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,862 INFO L273 TraceCheckUtils]: 112: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,862 INFO L273 TraceCheckUtils]: 113: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,862 INFO L273 TraceCheckUtils]: 114: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,862 INFO L273 TraceCheckUtils]: 115: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,862 INFO L273 TraceCheckUtils]: 116: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 117: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 118: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 119: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 120: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 121: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 122: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 123: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 124: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 125: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,863 INFO L273 TraceCheckUtils]: 126: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 127: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 128: Hoare triple {23996#true} assume !(~i~0 < 20); {23996#true} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 129: Hoare triple {23996#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23996#true} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 130: Hoare triple {23996#true} assume true; {23996#true} is VALID [2018-11-23 12:15:50,864 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {23996#true} {23997#false} #72#return; {23997#false} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 132: Hoare triple {23997#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {23997#false} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 133: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 134: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 135: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,864 INFO L273 TraceCheckUtils]: 136: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 137: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 138: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 139: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 140: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 141: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 142: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 143: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 144: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,865 INFO L273 TraceCheckUtils]: 145: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 146: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 147: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 148: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 149: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 150: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 151: Hoare triple {23997#false} assume !(~i~2 < 19); {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 152: Hoare triple {23997#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {23997#false} is VALID [2018-11-23 12:15:50,866 INFO L256 TraceCheckUtils]: 153: Hoare triple {23997#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {23996#true} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 154: Hoare triple {23996#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {23996#true} is VALID [2018-11-23 12:15:50,866 INFO L273 TraceCheckUtils]: 155: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 156: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 157: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 158: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 159: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 160: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 161: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 162: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 163: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 164: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,867 INFO L273 TraceCheckUtils]: 165: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 166: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 167: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 168: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 169: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 170: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 171: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 172: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 173: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 174: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,868 INFO L273 TraceCheckUtils]: 175: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 176: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 177: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 178: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 179: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 180: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 181: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 182: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 183: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 184: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,869 INFO L273 TraceCheckUtils]: 185: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 186: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 187: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 188: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 189: Hoare triple {23996#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 190: Hoare triple {23996#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 191: Hoare triple {23996#true} assume !(~i~0 < 20); {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 192: Hoare triple {23996#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L273 TraceCheckUtils]: 193: Hoare triple {23996#true} assume true; {23996#true} is VALID [2018-11-23 12:15:50,870 INFO L268 TraceCheckUtils]: 194: Hoare quadruple {23996#true} {23997#false} #74#return; {23997#false} is VALID [2018-11-23 12:15:50,871 INFO L273 TraceCheckUtils]: 195: Hoare triple {23997#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {23997#false} is VALID [2018-11-23 12:15:50,871 INFO L273 TraceCheckUtils]: 196: Hoare triple {23997#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23997#false} is VALID [2018-11-23 12:15:50,871 INFO L273 TraceCheckUtils]: 197: Hoare triple {23997#false} assume !false; {23997#false} is VALID [2018-11-23 12:15:50,886 INFO L134 CoverageAnalysis]: Checked inductivity of 3520 backedges. 0 proven. 1700 refuted. 0 times theorem prover too weak. 1820 trivial. 0 not checked. [2018-11-23 12:15:50,886 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:50,886 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:50,896 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:50,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:51,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:51,037 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:51,306 INFO L256 TraceCheckUtils]: 0: Hoare triple {23996#true} call ULTIMATE.init(); {23996#true} is VALID [2018-11-23 12:15:51,306 INFO L273 TraceCheckUtils]: 1: Hoare triple {23996#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {23996#true} is VALID [2018-11-23 12:15:51,306 INFO L273 TraceCheckUtils]: 2: Hoare triple {23996#true} assume true; {23996#true} is VALID [2018-11-23 12:15:51,307 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {23996#true} {23996#true} #66#return; {23996#true} is VALID [2018-11-23 12:15:51,307 INFO L256 TraceCheckUtils]: 4: Hoare triple {23996#true} call #t~ret12 := main(); {23996#true} is VALID [2018-11-23 12:15:51,307 INFO L273 TraceCheckUtils]: 5: Hoare triple {23996#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {23996#true} is VALID [2018-11-23 12:15:51,307 INFO L273 TraceCheckUtils]: 6: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,307 INFO L273 TraceCheckUtils]: 7: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 8: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 9: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 10: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 11: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 12: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 13: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 14: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 15: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 16: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,308 INFO L273 TraceCheckUtils]: 17: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 18: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 19: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 20: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 21: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 22: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 23: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 24: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 25: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 26: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,309 INFO L273 TraceCheckUtils]: 27: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 28: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 29: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 30: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 31: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 32: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 33: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 34: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 35: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 36: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,310 INFO L273 TraceCheckUtils]: 37: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 38: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 39: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 40: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 41: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 42: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 43: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 44: Hoare triple {23996#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 45: Hoare triple {23996#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L273 TraceCheckUtils]: 46: Hoare triple {23996#true} assume !(~i~1 < 20); {23996#true} is VALID [2018-11-23 12:15:51,311 INFO L256 TraceCheckUtils]: 47: Hoare triple {23996#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {23996#true} is VALID [2018-11-23 12:15:51,312 INFO L273 TraceCheckUtils]: 48: Hoare triple {23996#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {24164#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:51,312 INFO L273 TraceCheckUtils]: 49: Hoare triple {24164#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24164#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:51,313 INFO L273 TraceCheckUtils]: 50: Hoare triple {24164#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23999#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:51,313 INFO L273 TraceCheckUtils]: 51: Hoare triple {23999#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23999#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:51,313 INFO L273 TraceCheckUtils]: 52: Hoare triple {23999#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24000#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:51,314 INFO L273 TraceCheckUtils]: 53: Hoare triple {24000#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24000#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:51,314 INFO L273 TraceCheckUtils]: 54: Hoare triple {24000#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24001#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:51,314 INFO L273 TraceCheckUtils]: 55: Hoare triple {24001#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24001#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:51,315 INFO L273 TraceCheckUtils]: 56: Hoare triple {24001#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24002#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:51,316 INFO L273 TraceCheckUtils]: 57: Hoare triple {24002#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24002#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:51,316 INFO L273 TraceCheckUtils]: 58: Hoare triple {24002#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24003#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:51,317 INFO L273 TraceCheckUtils]: 59: Hoare triple {24003#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24003#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:51,318 INFO L273 TraceCheckUtils]: 60: Hoare triple {24003#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24004#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:51,318 INFO L273 TraceCheckUtils]: 61: Hoare triple {24004#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24004#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:51,319 INFO L273 TraceCheckUtils]: 62: Hoare triple {24004#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24005#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:51,319 INFO L273 TraceCheckUtils]: 63: Hoare triple {24005#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24005#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:51,320 INFO L273 TraceCheckUtils]: 64: Hoare triple {24005#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24006#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:51,321 INFO L273 TraceCheckUtils]: 65: Hoare triple {24006#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24006#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:51,321 INFO L273 TraceCheckUtils]: 66: Hoare triple {24006#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24007#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:51,322 INFO L273 TraceCheckUtils]: 67: Hoare triple {24007#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24007#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:51,323 INFO L273 TraceCheckUtils]: 68: Hoare triple {24007#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24008#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:51,323 INFO L273 TraceCheckUtils]: 69: Hoare triple {24008#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24008#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:51,324 INFO L273 TraceCheckUtils]: 70: Hoare triple {24008#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24009#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:51,324 INFO L273 TraceCheckUtils]: 71: Hoare triple {24009#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24009#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:51,325 INFO L273 TraceCheckUtils]: 72: Hoare triple {24009#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24010#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:51,326 INFO L273 TraceCheckUtils]: 73: Hoare triple {24010#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24010#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:51,326 INFO L273 TraceCheckUtils]: 74: Hoare triple {24010#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24011#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:51,327 INFO L273 TraceCheckUtils]: 75: Hoare triple {24011#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24011#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:51,327 INFO L273 TraceCheckUtils]: 76: Hoare triple {24011#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24012#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:51,328 INFO L273 TraceCheckUtils]: 77: Hoare triple {24012#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24012#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:51,329 INFO L273 TraceCheckUtils]: 78: Hoare triple {24012#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24013#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:51,329 INFO L273 TraceCheckUtils]: 79: Hoare triple {24013#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24013#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:51,330 INFO L273 TraceCheckUtils]: 80: Hoare triple {24013#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24014#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:51,330 INFO L273 TraceCheckUtils]: 81: Hoare triple {24014#(<= avg_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24014#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:51,331 INFO L273 TraceCheckUtils]: 82: Hoare triple {24014#(<= avg_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24015#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:51,332 INFO L273 TraceCheckUtils]: 83: Hoare triple {24015#(<= avg_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {24015#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:51,332 INFO L273 TraceCheckUtils]: 84: Hoare triple {24015#(<= avg_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {24016#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:51,333 INFO L273 TraceCheckUtils]: 85: Hoare triple {24016#(<= avg_~i~0 18)} assume !(~i~0 < 20); {23997#false} is VALID [2018-11-23 12:15:51,333 INFO L273 TraceCheckUtils]: 86: Hoare triple {23997#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L273 TraceCheckUtils]: 87: Hoare triple {23997#false} assume true; {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L268 TraceCheckUtils]: 88: Hoare quadruple {23997#false} {23996#true} #70#return; {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L273 TraceCheckUtils]: 89: Hoare triple {23997#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L256 TraceCheckUtils]: 90: Hoare triple {23997#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L273 TraceCheckUtils]: 91: Hoare triple {23997#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {23997#false} is VALID [2018-11-23 12:15:51,334 INFO L273 TraceCheckUtils]: 92: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,335 INFO L273 TraceCheckUtils]: 93: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,335 INFO L273 TraceCheckUtils]: 94: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,335 INFO L273 TraceCheckUtils]: 95: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,335 INFO L273 TraceCheckUtils]: 96: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,335 INFO L273 TraceCheckUtils]: 97: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 98: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 99: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 100: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 101: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 102: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,336 INFO L273 TraceCheckUtils]: 103: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 104: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 105: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 106: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 107: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 108: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 109: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 110: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 111: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 112: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,337 INFO L273 TraceCheckUtils]: 113: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 114: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 115: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 116: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 117: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 118: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 119: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 120: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 121: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 122: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,338 INFO L273 TraceCheckUtils]: 123: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 124: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 125: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 126: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 127: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 128: Hoare triple {23997#false} assume !(~i~0 < 20); {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 129: Hoare triple {23997#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 130: Hoare triple {23997#false} assume true; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L268 TraceCheckUtils]: 131: Hoare quadruple {23997#false} {23997#false} #72#return; {23997#false} is VALID [2018-11-23 12:15:51,339 INFO L273 TraceCheckUtils]: 132: Hoare triple {23997#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 133: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 134: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 135: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 136: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 137: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 138: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 139: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 140: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 141: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,340 INFO L273 TraceCheckUtils]: 142: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 143: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 144: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 145: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 146: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 147: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 148: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 149: Hoare triple {23997#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 150: Hoare triple {23997#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 151: Hoare triple {23997#false} assume !(~i~2 < 19); {23997#false} is VALID [2018-11-23 12:15:51,341 INFO L273 TraceCheckUtils]: 152: Hoare triple {23997#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L256 TraceCheckUtils]: 153: Hoare triple {23997#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 154: Hoare triple {23997#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 155: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 156: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 157: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 158: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 159: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 160: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 161: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,342 INFO L273 TraceCheckUtils]: 162: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 163: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 164: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 165: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 166: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 167: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 168: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 169: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 170: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,343 INFO L273 TraceCheckUtils]: 171: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 172: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 173: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 174: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 175: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 176: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 177: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 178: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 179: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 180: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,344 INFO L273 TraceCheckUtils]: 181: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 182: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 183: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 184: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 185: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 186: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 187: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 188: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 189: Hoare triple {23997#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 190: Hoare triple {23997#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {23997#false} is VALID [2018-11-23 12:15:51,345 INFO L273 TraceCheckUtils]: 191: Hoare triple {23997#false} assume !(~i~0 < 20); {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L273 TraceCheckUtils]: 192: Hoare triple {23997#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L273 TraceCheckUtils]: 193: Hoare triple {23997#false} assume true; {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L268 TraceCheckUtils]: 194: Hoare quadruple {23997#false} {23997#false} #74#return; {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L273 TraceCheckUtils]: 195: Hoare triple {23997#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L273 TraceCheckUtils]: 196: Hoare triple {23997#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {23997#false} is VALID [2018-11-23 12:15:51,346 INFO L273 TraceCheckUtils]: 197: Hoare triple {23997#false} assume !false; {23997#false} is VALID [2018-11-23 12:15:51,361 INFO L134 CoverageAnalysis]: Checked inductivity of 3520 backedges. 1372 proven. 324 refuted. 0 times theorem prover too weak. 1824 trivial. 0 not checked. [2018-11-23 12:15:51,381 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:51,381 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 22 [2018-11-23 12:15:51,381 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 198 [2018-11-23 12:15:51,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:51,382 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2018-11-23 12:15:51,524 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:51,525 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2018-11-23 12:15:51,525 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2018-11-23 12:15:51,525 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:15:51,526 INFO L87 Difference]: Start difference. First operand 117 states and 121 transitions. Second operand 22 states. [2018-11-23 12:15:52,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:52,145 INFO L93 Difference]: Finished difference Result 189 states and 199 transitions. [2018-11-23 12:15:52,145 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2018-11-23 12:15:52,145 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 198 [2018-11-23 12:15:52,145 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:52,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:15:52,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 91 transitions. [2018-11-23 12:15:52,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-11-23 12:15:52,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 91 transitions. [2018-11-23 12:15:52,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 91 transitions. [2018-11-23 12:15:52,231 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:52,233 INFO L225 Difference]: With dead ends: 189 [2018-11-23 12:15:52,233 INFO L226 Difference]: Without dead ends: 120 [2018-11-23 12:15:52,234 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 218 GetRequests, 198 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=231, Invalid=231, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:15:52,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2018-11-23 12:15:52,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 119. [2018-11-23 12:15:52,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:52,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand 119 states. [2018-11-23 12:15:52,298 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 119 states. [2018-11-23 12:15:52,298 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 119 states. [2018-11-23 12:15:52,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:52,300 INFO L93 Difference]: Finished difference Result 120 states and 124 transitions. [2018-11-23 12:15:52,300 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 124 transitions. [2018-11-23 12:15:52,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:52,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:52,301 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 120 states. [2018-11-23 12:15:52,301 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 120 states. [2018-11-23 12:15:52,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:52,303 INFO L93 Difference]: Finished difference Result 120 states and 124 transitions. [2018-11-23 12:15:52,303 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 124 transitions. [2018-11-23 12:15:52,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:52,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:52,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:52,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:52,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 119 states. [2018-11-23 12:15:52,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 123 transitions. [2018-11-23 12:15:52,305 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 123 transitions. Word has length 198 [2018-11-23 12:15:52,306 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:52,306 INFO L480 AbstractCegarLoop]: Abstraction has 119 states and 123 transitions. [2018-11-23 12:15:52,306 INFO L481 AbstractCegarLoop]: Interpolant automaton has 22 states. [2018-11-23 12:15:52,306 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 123 transitions. [2018-11-23 12:15:52,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 205 [2018-11-23 12:15:52,306 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:52,307 INFO L402 BasicCegarLoop]: trace histogram [57, 57, 20, 20, 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] [2018-11-23 12:15:52,307 INFO L423 AbstractCegarLoop]: === Iteration 36 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:52,307 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:52,307 INFO L82 PathProgramCache]: Analyzing trace with hash -1246469765, now seen corresponding path program 32 times [2018-11-23 12:15:52,307 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:52,307 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:52,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:52,308 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:15:52,308 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:52,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:53,562 INFO L256 TraceCheckUtils]: 0: Hoare triple {25309#true} call ULTIMATE.init(); {25309#true} is VALID [2018-11-23 12:15:53,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {25309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {25309#true} is VALID [2018-11-23 12:15:53,562 INFO L273 TraceCheckUtils]: 2: Hoare triple {25309#true} assume true; {25309#true} is VALID [2018-11-23 12:15:53,562 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {25309#true} {25309#true} #66#return; {25309#true} is VALID [2018-11-23 12:15:53,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {25309#true} call #t~ret12 := main(); {25309#true} is VALID [2018-11-23 12:15:53,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {25309#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {25309#true} is VALID [2018-11-23 12:15:53,563 INFO L273 TraceCheckUtils]: 6: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,563 INFO L273 TraceCheckUtils]: 7: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 8: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 9: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 10: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 11: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 12: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 13: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 14: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 15: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,564 INFO L273 TraceCheckUtils]: 16: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 17: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 18: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 19: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 20: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 21: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 22: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 23: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 24: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 25: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,565 INFO L273 TraceCheckUtils]: 26: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 27: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 28: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 29: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 30: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 31: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,566 INFO L273 TraceCheckUtils]: 32: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 33: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 34: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 35: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 36: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 37: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 38: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,567 INFO L273 TraceCheckUtils]: 39: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 40: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 41: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 42: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 43: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 44: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 45: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L273 TraceCheckUtils]: 46: Hoare triple {25309#true} assume !(~i~1 < 20); {25309#true} is VALID [2018-11-23 12:15:53,568 INFO L256 TraceCheckUtils]: 47: Hoare triple {25309#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {25309#true} is VALID [2018-11-23 12:15:53,569 INFO L273 TraceCheckUtils]: 48: Hoare triple {25309#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25311#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:53,569 INFO L273 TraceCheckUtils]: 49: Hoare triple {25311#(= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25311#(= avg_~i~0 0)} is VALID [2018-11-23 12:15:53,569 INFO L273 TraceCheckUtils]: 50: Hoare triple {25311#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25312#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:53,570 INFO L273 TraceCheckUtils]: 51: Hoare triple {25312#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25312#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:53,570 INFO L273 TraceCheckUtils]: 52: Hoare triple {25312#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25313#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:53,571 INFO L273 TraceCheckUtils]: 53: Hoare triple {25313#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25313#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:53,571 INFO L273 TraceCheckUtils]: 54: Hoare triple {25313#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25314#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:53,571 INFO L273 TraceCheckUtils]: 55: Hoare triple {25314#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25314#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:53,572 INFO L273 TraceCheckUtils]: 56: Hoare triple {25314#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25315#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:53,572 INFO L273 TraceCheckUtils]: 57: Hoare triple {25315#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25315#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:53,572 INFO L273 TraceCheckUtils]: 58: Hoare triple {25315#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25316#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:53,573 INFO L273 TraceCheckUtils]: 59: Hoare triple {25316#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25316#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:53,574 INFO L273 TraceCheckUtils]: 60: Hoare triple {25316#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25317#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:53,574 INFO L273 TraceCheckUtils]: 61: Hoare triple {25317#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25317#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:53,575 INFO L273 TraceCheckUtils]: 62: Hoare triple {25317#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25318#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:53,575 INFO L273 TraceCheckUtils]: 63: Hoare triple {25318#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25318#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:53,576 INFO L273 TraceCheckUtils]: 64: Hoare triple {25318#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25319#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:53,576 INFO L273 TraceCheckUtils]: 65: Hoare triple {25319#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25319#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:53,577 INFO L273 TraceCheckUtils]: 66: Hoare triple {25319#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25320#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:53,577 INFO L273 TraceCheckUtils]: 67: Hoare triple {25320#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25320#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:53,578 INFO L273 TraceCheckUtils]: 68: Hoare triple {25320#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25321#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:53,579 INFO L273 TraceCheckUtils]: 69: Hoare triple {25321#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25321#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:53,579 INFO L273 TraceCheckUtils]: 70: Hoare triple {25321#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25322#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:53,580 INFO L273 TraceCheckUtils]: 71: Hoare triple {25322#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25322#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:53,580 INFO L273 TraceCheckUtils]: 72: Hoare triple {25322#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25323#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:53,581 INFO L273 TraceCheckUtils]: 73: Hoare triple {25323#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25323#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:53,582 INFO L273 TraceCheckUtils]: 74: Hoare triple {25323#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25324#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:53,582 INFO L273 TraceCheckUtils]: 75: Hoare triple {25324#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25324#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:53,583 INFO L273 TraceCheckUtils]: 76: Hoare triple {25324#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25325#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:53,583 INFO L273 TraceCheckUtils]: 77: Hoare triple {25325#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25325#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:53,584 INFO L273 TraceCheckUtils]: 78: Hoare triple {25325#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25326#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:53,584 INFO L273 TraceCheckUtils]: 79: Hoare triple {25326#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25326#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:53,585 INFO L273 TraceCheckUtils]: 80: Hoare triple {25326#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25327#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:53,586 INFO L273 TraceCheckUtils]: 81: Hoare triple {25327#(<= avg_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25327#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:53,586 INFO L273 TraceCheckUtils]: 82: Hoare triple {25327#(<= avg_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25328#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:53,587 INFO L273 TraceCheckUtils]: 83: Hoare triple {25328#(<= avg_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25328#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:53,587 INFO L273 TraceCheckUtils]: 84: Hoare triple {25328#(<= avg_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25329#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:53,588 INFO L273 TraceCheckUtils]: 85: Hoare triple {25329#(<= avg_~i~0 18)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25329#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:53,589 INFO L273 TraceCheckUtils]: 86: Hoare triple {25329#(<= avg_~i~0 18)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25330#(<= avg_~i~0 19)} is VALID [2018-11-23 12:15:53,589 INFO L273 TraceCheckUtils]: 87: Hoare triple {25330#(<= avg_~i~0 19)} assume !(~i~0 < 20); {25310#false} is VALID [2018-11-23 12:15:53,589 INFO L273 TraceCheckUtils]: 88: Hoare triple {25310#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25310#false} is VALID [2018-11-23 12:15:53,590 INFO L273 TraceCheckUtils]: 89: Hoare triple {25310#false} assume true; {25310#false} is VALID [2018-11-23 12:15:53,590 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {25310#false} {25309#true} #70#return; {25310#false} is VALID [2018-11-23 12:15:53,590 INFO L273 TraceCheckUtils]: 91: Hoare triple {25310#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {25310#false} is VALID [2018-11-23 12:15:53,590 INFO L256 TraceCheckUtils]: 92: Hoare triple {25310#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {25309#true} is VALID [2018-11-23 12:15:53,590 INFO L273 TraceCheckUtils]: 93: Hoare triple {25309#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 94: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 95: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 96: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 97: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 98: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,591 INFO L273 TraceCheckUtils]: 99: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 100: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 101: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 102: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 103: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 104: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 105: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 106: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 107: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,592 INFO L273 TraceCheckUtils]: 108: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 109: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 110: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 111: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 112: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 113: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 114: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 115: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 116: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 117: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,593 INFO L273 TraceCheckUtils]: 118: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 119: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 120: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 121: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 122: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 123: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 124: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 125: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 126: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,594 INFO L273 TraceCheckUtils]: 127: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 128: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 129: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 130: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 131: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 132: Hoare triple {25309#true} assume !(~i~0 < 20); {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 133: Hoare triple {25309#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 134: Hoare triple {25309#true} assume true; {25309#true} is VALID [2018-11-23 12:15:53,595 INFO L268 TraceCheckUtils]: 135: Hoare quadruple {25309#true} {25310#false} #72#return; {25310#false} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 136: Hoare triple {25310#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {25310#false} is VALID [2018-11-23 12:15:53,595 INFO L273 TraceCheckUtils]: 137: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 138: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 139: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 140: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 141: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 142: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 143: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 144: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 145: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 146: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,596 INFO L273 TraceCheckUtils]: 147: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 148: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 149: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 150: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 151: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 152: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 153: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 154: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 155: Hoare triple {25310#false} assume !(~i~2 < 19); {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L273 TraceCheckUtils]: 156: Hoare triple {25310#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {25310#false} is VALID [2018-11-23 12:15:53,597 INFO L256 TraceCheckUtils]: 157: Hoare triple {25310#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 158: Hoare triple {25309#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 159: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 160: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 161: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 162: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 163: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 164: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 165: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,598 INFO L273 TraceCheckUtils]: 166: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 167: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 168: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 169: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 170: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 171: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 172: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 173: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 174: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 175: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,599 INFO L273 TraceCheckUtils]: 176: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 177: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 178: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 179: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 180: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 181: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 182: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 183: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 184: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 185: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,600 INFO L273 TraceCheckUtils]: 186: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 187: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 188: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 189: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 190: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 191: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 192: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 193: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 194: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 195: Hoare triple {25309#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25309#true} is VALID [2018-11-23 12:15:53,601 INFO L273 TraceCheckUtils]: 196: Hoare triple {25309#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25309#true} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 197: Hoare triple {25309#true} assume !(~i~0 < 20); {25309#true} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 198: Hoare triple {25309#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25309#true} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 199: Hoare triple {25309#true} assume true; {25309#true} is VALID [2018-11-23 12:15:53,602 INFO L268 TraceCheckUtils]: 200: Hoare quadruple {25309#true} {25310#false} #74#return; {25310#false} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 201: Hoare triple {25310#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {25310#false} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 202: Hoare triple {25310#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {25310#false} is VALID [2018-11-23 12:15:53,602 INFO L273 TraceCheckUtils]: 203: Hoare triple {25310#false} assume !false; {25310#false} is VALID [2018-11-23 12:15:53,617 INFO L134 CoverageAnalysis]: Checked inductivity of 3859 backedges. 0 proven. 1889 refuted. 0 times theorem prover too weak. 1970 trivial. 0 not checked. [2018-11-23 12:15:53,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:53,618 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:53,627 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:15:53,725 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:15:53,725 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:53,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:53,768 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:54,131 INFO L256 TraceCheckUtils]: 0: Hoare triple {25309#true} call ULTIMATE.init(); {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {25309#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L273 TraceCheckUtils]: 2: Hoare triple {25309#true} assume true; {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {25309#true} {25309#true} #66#return; {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L256 TraceCheckUtils]: 4: Hoare triple {25309#true} call #t~ret12 := main(); {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L273 TraceCheckUtils]: 5: Hoare triple {25309#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {25309#true} is VALID [2018-11-23 12:15:54,132 INFO L273 TraceCheckUtils]: 6: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,133 INFO L273 TraceCheckUtils]: 7: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,133 INFO L273 TraceCheckUtils]: 8: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,133 INFO L273 TraceCheckUtils]: 9: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,133 INFO L273 TraceCheckUtils]: 10: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,133 INFO L273 TraceCheckUtils]: 11: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 12: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 13: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 14: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 15: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 16: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 17: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 18: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 19: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,134 INFO L273 TraceCheckUtils]: 20: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 21: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 22: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 23: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 24: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 25: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 26: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 27: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 28: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 29: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,135 INFO L273 TraceCheckUtils]: 30: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 31: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 32: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 33: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 34: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 35: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 36: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 37: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 38: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,136 INFO L273 TraceCheckUtils]: 39: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 40: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 41: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 42: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 43: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 44: Hoare triple {25309#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 45: Hoare triple {25309#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L273 TraceCheckUtils]: 46: Hoare triple {25309#true} assume !(~i~1 < 20); {25309#true} is VALID [2018-11-23 12:15:54,137 INFO L256 TraceCheckUtils]: 47: Hoare triple {25309#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {25309#true} is VALID [2018-11-23 12:15:54,138 INFO L273 TraceCheckUtils]: 48: Hoare triple {25309#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25478#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:54,138 INFO L273 TraceCheckUtils]: 49: Hoare triple {25478#(<= avg_~i~0 0)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25478#(<= avg_~i~0 0)} is VALID [2018-11-23 12:15:54,138 INFO L273 TraceCheckUtils]: 50: Hoare triple {25478#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25312#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:54,139 INFO L273 TraceCheckUtils]: 51: Hoare triple {25312#(<= avg_~i~0 1)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25312#(<= avg_~i~0 1)} is VALID [2018-11-23 12:15:54,139 INFO L273 TraceCheckUtils]: 52: Hoare triple {25312#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25313#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:54,139 INFO L273 TraceCheckUtils]: 53: Hoare triple {25313#(<= avg_~i~0 2)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25313#(<= avg_~i~0 2)} is VALID [2018-11-23 12:15:54,140 INFO L273 TraceCheckUtils]: 54: Hoare triple {25313#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25314#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:54,140 INFO L273 TraceCheckUtils]: 55: Hoare triple {25314#(<= avg_~i~0 3)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25314#(<= avg_~i~0 3)} is VALID [2018-11-23 12:15:54,141 INFO L273 TraceCheckUtils]: 56: Hoare triple {25314#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25315#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:54,141 INFO L273 TraceCheckUtils]: 57: Hoare triple {25315#(<= avg_~i~0 4)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25315#(<= avg_~i~0 4)} is VALID [2018-11-23 12:15:54,142 INFO L273 TraceCheckUtils]: 58: Hoare triple {25315#(<= avg_~i~0 4)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25316#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:54,142 INFO L273 TraceCheckUtils]: 59: Hoare triple {25316#(<= avg_~i~0 5)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25316#(<= avg_~i~0 5)} is VALID [2018-11-23 12:15:54,143 INFO L273 TraceCheckUtils]: 60: Hoare triple {25316#(<= avg_~i~0 5)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25317#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:54,143 INFO L273 TraceCheckUtils]: 61: Hoare triple {25317#(<= avg_~i~0 6)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25317#(<= avg_~i~0 6)} is VALID [2018-11-23 12:15:54,144 INFO L273 TraceCheckUtils]: 62: Hoare triple {25317#(<= avg_~i~0 6)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25318#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:54,145 INFO L273 TraceCheckUtils]: 63: Hoare triple {25318#(<= avg_~i~0 7)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25318#(<= avg_~i~0 7)} is VALID [2018-11-23 12:15:54,145 INFO L273 TraceCheckUtils]: 64: Hoare triple {25318#(<= avg_~i~0 7)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25319#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:54,146 INFO L273 TraceCheckUtils]: 65: Hoare triple {25319#(<= avg_~i~0 8)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25319#(<= avg_~i~0 8)} is VALID [2018-11-23 12:15:54,147 INFO L273 TraceCheckUtils]: 66: Hoare triple {25319#(<= avg_~i~0 8)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25320#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:54,147 INFO L273 TraceCheckUtils]: 67: Hoare triple {25320#(<= avg_~i~0 9)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25320#(<= avg_~i~0 9)} is VALID [2018-11-23 12:15:54,148 INFO L273 TraceCheckUtils]: 68: Hoare triple {25320#(<= avg_~i~0 9)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25321#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:54,148 INFO L273 TraceCheckUtils]: 69: Hoare triple {25321#(<= avg_~i~0 10)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25321#(<= avg_~i~0 10)} is VALID [2018-11-23 12:15:54,149 INFO L273 TraceCheckUtils]: 70: Hoare triple {25321#(<= avg_~i~0 10)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25322#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:54,150 INFO L273 TraceCheckUtils]: 71: Hoare triple {25322#(<= avg_~i~0 11)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25322#(<= avg_~i~0 11)} is VALID [2018-11-23 12:15:54,150 INFO L273 TraceCheckUtils]: 72: Hoare triple {25322#(<= avg_~i~0 11)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25323#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:54,151 INFO L273 TraceCheckUtils]: 73: Hoare triple {25323#(<= avg_~i~0 12)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25323#(<= avg_~i~0 12)} is VALID [2018-11-23 12:15:54,152 INFO L273 TraceCheckUtils]: 74: Hoare triple {25323#(<= avg_~i~0 12)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25324#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:54,152 INFO L273 TraceCheckUtils]: 75: Hoare triple {25324#(<= avg_~i~0 13)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25324#(<= avg_~i~0 13)} is VALID [2018-11-23 12:15:54,153 INFO L273 TraceCheckUtils]: 76: Hoare triple {25324#(<= avg_~i~0 13)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25325#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:54,153 INFO L273 TraceCheckUtils]: 77: Hoare triple {25325#(<= avg_~i~0 14)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25325#(<= avg_~i~0 14)} is VALID [2018-11-23 12:15:54,154 INFO L273 TraceCheckUtils]: 78: Hoare triple {25325#(<= avg_~i~0 14)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25326#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:54,155 INFO L273 TraceCheckUtils]: 79: Hoare triple {25326#(<= avg_~i~0 15)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25326#(<= avg_~i~0 15)} is VALID [2018-11-23 12:15:54,155 INFO L273 TraceCheckUtils]: 80: Hoare triple {25326#(<= avg_~i~0 15)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25327#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:54,156 INFO L273 TraceCheckUtils]: 81: Hoare triple {25327#(<= avg_~i~0 16)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25327#(<= avg_~i~0 16)} is VALID [2018-11-23 12:15:54,156 INFO L273 TraceCheckUtils]: 82: Hoare triple {25327#(<= avg_~i~0 16)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25328#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:54,157 INFO L273 TraceCheckUtils]: 83: Hoare triple {25328#(<= avg_~i~0 17)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25328#(<= avg_~i~0 17)} is VALID [2018-11-23 12:15:54,158 INFO L273 TraceCheckUtils]: 84: Hoare triple {25328#(<= avg_~i~0 17)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25329#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:54,158 INFO L273 TraceCheckUtils]: 85: Hoare triple {25329#(<= avg_~i~0 18)} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25329#(<= avg_~i~0 18)} is VALID [2018-11-23 12:15:54,159 INFO L273 TraceCheckUtils]: 86: Hoare triple {25329#(<= avg_~i~0 18)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25330#(<= avg_~i~0 19)} is VALID [2018-11-23 12:15:54,160 INFO L273 TraceCheckUtils]: 87: Hoare triple {25330#(<= avg_~i~0 19)} assume !(~i~0 < 20); {25310#false} is VALID [2018-11-23 12:15:54,160 INFO L273 TraceCheckUtils]: 88: Hoare triple {25310#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25310#false} is VALID [2018-11-23 12:15:54,160 INFO L273 TraceCheckUtils]: 89: Hoare triple {25310#false} assume true; {25310#false} is VALID [2018-11-23 12:15:54,160 INFO L268 TraceCheckUtils]: 90: Hoare quadruple {25310#false} {25309#true} #70#return; {25310#false} is VALID [2018-11-23 12:15:54,160 INFO L273 TraceCheckUtils]: 91: Hoare triple {25310#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L256 TraceCheckUtils]: 92: Hoare triple {25310#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L273 TraceCheckUtils]: 93: Hoare triple {25310#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L273 TraceCheckUtils]: 94: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L273 TraceCheckUtils]: 95: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L273 TraceCheckUtils]: 96: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,161 INFO L273 TraceCheckUtils]: 97: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 98: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 99: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 100: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 101: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 102: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,162 INFO L273 TraceCheckUtils]: 103: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 104: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 105: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 106: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 107: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 108: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,163 INFO L273 TraceCheckUtils]: 109: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,164 INFO L273 TraceCheckUtils]: 110: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,164 INFO L273 TraceCheckUtils]: 111: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,164 INFO L273 TraceCheckUtils]: 112: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,164 INFO L273 TraceCheckUtils]: 113: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,164 INFO L273 TraceCheckUtils]: 114: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 115: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 116: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 117: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 118: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 119: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 120: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 121: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 122: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,165 INFO L273 TraceCheckUtils]: 123: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 124: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 125: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 126: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 127: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 128: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 129: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 130: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 131: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 132: Hoare triple {25310#false} assume !(~i~0 < 20); {25310#false} is VALID [2018-11-23 12:15:54,166 INFO L273 TraceCheckUtils]: 133: Hoare triple {25310#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 134: Hoare triple {25310#false} assume true; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L268 TraceCheckUtils]: 135: Hoare quadruple {25310#false} {25310#false} #72#return; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 136: Hoare triple {25310#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 137: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 138: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 139: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 140: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 141: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,167 INFO L273 TraceCheckUtils]: 142: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 143: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 144: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 145: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 146: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 147: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 148: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 149: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 150: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 151: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,168 INFO L273 TraceCheckUtils]: 152: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 153: Hoare triple {25310#false} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 154: Hoare triple {25310#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 155: Hoare triple {25310#false} assume !(~i~2 < 19); {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 156: Hoare triple {25310#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L256 TraceCheckUtils]: 157: Hoare triple {25310#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 158: Hoare triple {25310#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 159: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 160: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 161: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,169 INFO L273 TraceCheckUtils]: 162: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 163: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 164: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 165: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 166: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 167: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 168: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 169: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 170: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 171: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,170 INFO L273 TraceCheckUtils]: 172: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 173: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 174: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 175: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 176: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 177: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 178: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 179: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 180: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 181: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,171 INFO L273 TraceCheckUtils]: 182: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 183: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 184: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 185: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 186: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 187: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 188: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 189: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 190: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 191: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,172 INFO L273 TraceCheckUtils]: 192: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 193: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 194: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 195: Hoare triple {25310#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 196: Hoare triple {25310#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 197: Hoare triple {25310#false} assume !(~i~0 < 20); {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 198: Hoare triple {25310#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 199: Hoare triple {25310#false} assume true; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L268 TraceCheckUtils]: 200: Hoare quadruple {25310#false} {25310#false} #74#return; {25310#false} is VALID [2018-11-23 12:15:54,173 INFO L273 TraceCheckUtils]: 201: Hoare triple {25310#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {25310#false} is VALID [2018-11-23 12:15:54,174 INFO L273 TraceCheckUtils]: 202: Hoare triple {25310#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {25310#false} is VALID [2018-11-23 12:15:54,174 INFO L273 TraceCheckUtils]: 203: Hoare triple {25310#false} assume !false; {25310#false} is VALID [2018-11-23 12:15:54,189 INFO L134 CoverageAnalysis]: Checked inductivity of 3859 backedges. 1524 proven. 361 refuted. 0 times theorem prover too weak. 1974 trivial. 0 not checked. [2018-11-23 12:15:54,208 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:54,209 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 23 [2018-11-23 12:15:54,209 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 204 [2018-11-23 12:15:54,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:54,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 12:15:54,286 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:54,286 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 12:15:54,287 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 12:15:54,287 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:15:54,287 INFO L87 Difference]: Start difference. First operand 119 states and 123 transitions. Second operand 23 states. [2018-11-23 12:15:54,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:54,923 INFO L93 Difference]: Finished difference Result 192 states and 202 transitions. [2018-11-23 12:15:54,923 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:15:54,923 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 204 [2018-11-23 12:15:54,923 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:54,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:15:54,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 92 transitions. [2018-11-23 12:15:54,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 12:15:54,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 92 transitions. [2018-11-23 12:15:54,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 92 transitions. [2018-11-23 12:15:55,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:55,012 INFO L225 Difference]: With dead ends: 192 [2018-11-23 12:15:55,012 INFO L226 Difference]: Without dead ends: 121 [2018-11-23 12:15:55,013 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 204 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=253, Invalid=253, Unknown=0, NotChecked=0, Total=506 [2018-11-23 12:15:55,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-11-23 12:15:55,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2018-11-23 12:15:55,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:55,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 121 states. [2018-11-23 12:15:55,054 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 121 states. [2018-11-23 12:15:55,054 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 121 states. [2018-11-23 12:15:55,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:55,057 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2018-11-23 12:15:55,057 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2018-11-23 12:15:55,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:55,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:55,057 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 121 states. [2018-11-23 12:15:55,057 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 121 states. [2018-11-23 12:15:55,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:55,060 INFO L93 Difference]: Finished difference Result 121 states and 125 transitions. [2018-11-23 12:15:55,060 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2018-11-23 12:15:55,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:55,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:55,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:55,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:55,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-11-23 12:15:55,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 125 transitions. [2018-11-23 12:15:55,063 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 125 transitions. Word has length 204 [2018-11-23 12:15:55,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:55,063 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 125 transitions. [2018-11-23 12:15:55,063 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 12:15:55,063 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 125 transitions. [2018-11-23 12:15:55,064 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 211 [2018-11-23 12:15:55,064 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:55,064 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 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] [2018-11-23 12:15:55,064 INFO L423 AbstractCegarLoop]: === Iteration 37 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:55,065 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:55,065 INFO L82 PathProgramCache]: Analyzing trace with hash -66643975, now seen corresponding path program 33 times [2018-11-23 12:15:55,065 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:55,065 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:55,066 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:55,066 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:55,066 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:55,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:55,924 INFO L256 TraceCheckUtils]: 0: Hoare triple {26651#true} call ULTIMATE.init(); {26651#true} is VALID [2018-11-23 12:15:55,924 INFO L273 TraceCheckUtils]: 1: Hoare triple {26651#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {26651#true} is VALID [2018-11-23 12:15:55,925 INFO L273 TraceCheckUtils]: 2: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:55,925 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {26651#true} {26651#true} #66#return; {26651#true} is VALID [2018-11-23 12:15:55,925 INFO L256 TraceCheckUtils]: 4: Hoare triple {26651#true} call #t~ret12 := main(); {26651#true} is VALID [2018-11-23 12:15:55,925 INFO L273 TraceCheckUtils]: 5: Hoare triple {26651#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {26651#true} is VALID [2018-11-23 12:15:55,925 INFO L273 TraceCheckUtils]: 6: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 7: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 8: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 9: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 10: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 11: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 12: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,926 INFO L273 TraceCheckUtils]: 13: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 14: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 15: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 16: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 17: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 18: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 19: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 20: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 21: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 22: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,927 INFO L273 TraceCheckUtils]: 23: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 24: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 25: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 26: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 27: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 28: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 29: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 30: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 31: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 32: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,928 INFO L273 TraceCheckUtils]: 33: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 34: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 35: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 36: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 37: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 38: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 39: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 40: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 41: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,929 INFO L273 TraceCheckUtils]: 42: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 43: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 44: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 45: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 46: Hoare triple {26651#true} assume !(~i~1 < 20); {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L256 TraceCheckUtils]: 47: Hoare triple {26651#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 48: Hoare triple {26651#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 49: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 50: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 51: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,930 INFO L273 TraceCheckUtils]: 52: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 53: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 54: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 55: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 56: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 57: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 58: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 59: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 60: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 61: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,931 INFO L273 TraceCheckUtils]: 62: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 63: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 64: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 65: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 66: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 67: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 68: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 69: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 70: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 71: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,932 INFO L273 TraceCheckUtils]: 72: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 73: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 74: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 75: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 76: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 77: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 78: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 79: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 80: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,933 INFO L273 TraceCheckUtils]: 81: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 82: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 83: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 84: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 85: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 86: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 87: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 88: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 89: Hoare triple {26651#true} assume !(~i~0 < 20); {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 90: Hoare triple {26651#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26651#true} is VALID [2018-11-23 12:15:55,934 INFO L273 TraceCheckUtils]: 91: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {26651#true} {26651#true} #70#return; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 93: Hoare triple {26651#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L256 TraceCheckUtils]: 94: Hoare triple {26651#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 95: Hoare triple {26651#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 96: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 97: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 98: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 99: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 100: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,935 INFO L273 TraceCheckUtils]: 101: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 102: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 103: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 104: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 105: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 106: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 107: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 108: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 109: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,936 INFO L273 TraceCheckUtils]: 110: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 111: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 112: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 113: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 114: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 115: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 116: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 117: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 118: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 119: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,937 INFO L273 TraceCheckUtils]: 120: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 121: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 122: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 123: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 124: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 125: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 126: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 127: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 128: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 129: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,938 INFO L273 TraceCheckUtils]: 130: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 131: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 132: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 133: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 134: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 135: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 136: Hoare triple {26651#true} assume !(~i~0 < 20); {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 137: Hoare triple {26651#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L273 TraceCheckUtils]: 138: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:55,939 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {26651#true} {26651#true} #72#return; {26651#true} is VALID [2018-11-23 12:15:55,940 INFO L273 TraceCheckUtils]: 140: Hoare triple {26651#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {26653#(= main_~i~2 0)} is VALID [2018-11-23 12:15:55,940 INFO L273 TraceCheckUtils]: 141: Hoare triple {26653#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26653#(= main_~i~2 0)} is VALID [2018-11-23 12:15:55,941 INFO L273 TraceCheckUtils]: 142: Hoare triple {26653#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26654#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:55,941 INFO L273 TraceCheckUtils]: 143: Hoare triple {26654#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26654#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:55,941 INFO L273 TraceCheckUtils]: 144: Hoare triple {26654#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26655#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:55,942 INFO L273 TraceCheckUtils]: 145: Hoare triple {26655#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26655#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:55,942 INFO L273 TraceCheckUtils]: 146: Hoare triple {26655#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26656#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:55,942 INFO L273 TraceCheckUtils]: 147: Hoare triple {26656#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26656#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:55,943 INFO L273 TraceCheckUtils]: 148: Hoare triple {26656#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26657#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:55,944 INFO L273 TraceCheckUtils]: 149: Hoare triple {26657#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26657#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:55,944 INFO L273 TraceCheckUtils]: 150: Hoare triple {26657#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26658#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:55,945 INFO L273 TraceCheckUtils]: 151: Hoare triple {26658#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26658#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:55,946 INFO L273 TraceCheckUtils]: 152: Hoare triple {26658#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26659#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:55,946 INFO L273 TraceCheckUtils]: 153: Hoare triple {26659#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26659#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:55,947 INFO L273 TraceCheckUtils]: 154: Hoare triple {26659#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26660#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:55,947 INFO L273 TraceCheckUtils]: 155: Hoare triple {26660#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26660#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:55,948 INFO L273 TraceCheckUtils]: 156: Hoare triple {26660#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26661#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:55,949 INFO L273 TraceCheckUtils]: 157: Hoare triple {26661#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26661#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:55,949 INFO L273 TraceCheckUtils]: 158: Hoare triple {26661#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26662#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:55,950 INFO L273 TraceCheckUtils]: 159: Hoare triple {26662#(<= main_~i~2 9)} assume !(~i~2 < 19); {26652#false} is VALID [2018-11-23 12:15:55,950 INFO L273 TraceCheckUtils]: 160: Hoare triple {26652#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {26652#false} is VALID [2018-11-23 12:15:55,950 INFO L256 TraceCheckUtils]: 161: Hoare triple {26652#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {26651#true} is VALID [2018-11-23 12:15:55,950 INFO L273 TraceCheckUtils]: 162: Hoare triple {26651#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26651#true} is VALID [2018-11-23 12:15:55,951 INFO L273 TraceCheckUtils]: 163: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,951 INFO L273 TraceCheckUtils]: 164: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,951 INFO L273 TraceCheckUtils]: 165: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,951 INFO L273 TraceCheckUtils]: 166: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,951 INFO L273 TraceCheckUtils]: 167: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 168: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 169: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 170: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 171: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 172: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,952 INFO L273 TraceCheckUtils]: 173: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 174: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 175: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 176: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 177: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 178: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 179: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,953 INFO L273 TraceCheckUtils]: 180: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 181: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 182: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 183: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 184: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 185: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 186: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 187: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 188: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 189: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,954 INFO L273 TraceCheckUtils]: 190: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 191: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 192: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 193: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 194: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 195: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 196: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 197: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 198: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,955 INFO L273 TraceCheckUtils]: 199: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 200: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 201: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 202: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 203: Hoare triple {26651#true} assume !(~i~0 < 20); {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 204: Hoare triple {26651#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 205: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:55,956 INFO L268 TraceCheckUtils]: 206: Hoare quadruple {26651#true} {26652#false} #74#return; {26652#false} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 207: Hoare triple {26652#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {26652#false} is VALID [2018-11-23 12:15:55,956 INFO L273 TraceCheckUtils]: 208: Hoare triple {26652#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {26652#false} is VALID [2018-11-23 12:15:55,957 INFO L273 TraceCheckUtils]: 209: Hoare triple {26652#false} assume !false; {26652#false} is VALID [2018-11-23 12:15:55,972 INFO L134 CoverageAnalysis]: Checked inductivity of 4216 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:15:55,972 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:55,972 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:55,980 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:15:56,272 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2018-11-23 12:15:56,273 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:56,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:56,315 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:56,491 INFO L256 TraceCheckUtils]: 0: Hoare triple {26651#true} call ULTIMATE.init(); {26651#true} is VALID [2018-11-23 12:15:56,491 INFO L273 TraceCheckUtils]: 1: Hoare triple {26651#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {26651#true} is VALID [2018-11-23 12:15:56,491 INFO L273 TraceCheckUtils]: 2: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:56,491 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {26651#true} {26651#true} #66#return; {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L256 TraceCheckUtils]: 4: Hoare triple {26651#true} call #t~ret12 := main(); {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L273 TraceCheckUtils]: 5: Hoare triple {26651#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L273 TraceCheckUtils]: 6: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L273 TraceCheckUtils]: 7: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L273 TraceCheckUtils]: 8: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,492 INFO L273 TraceCheckUtils]: 9: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 10: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 11: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 12: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 13: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 14: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 15: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 16: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 17: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 18: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,493 INFO L273 TraceCheckUtils]: 19: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 20: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 21: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 22: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 23: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 24: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 25: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 26: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 27: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 28: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,494 INFO L273 TraceCheckUtils]: 29: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 30: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 31: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 32: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 33: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 34: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 35: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 36: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 37: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 38: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,495 INFO L273 TraceCheckUtils]: 39: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 40: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 41: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 42: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 43: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 44: Hoare triple {26651#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 45: Hoare triple {26651#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 46: Hoare triple {26651#true} assume !(~i~1 < 20); {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L256 TraceCheckUtils]: 47: Hoare triple {26651#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 48: Hoare triple {26651#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26651#true} is VALID [2018-11-23 12:15:56,496 INFO L273 TraceCheckUtils]: 49: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 50: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 51: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 52: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 53: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 54: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 55: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 56: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 57: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,497 INFO L273 TraceCheckUtils]: 58: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 59: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 60: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 61: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 62: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 63: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 64: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 65: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 66: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 67: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,498 INFO L273 TraceCheckUtils]: 68: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 69: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 70: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 71: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 72: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 73: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 74: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 75: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 76: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 77: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,499 INFO L273 TraceCheckUtils]: 78: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 79: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 80: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 81: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 82: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 83: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 84: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 85: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 86: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 87: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,500 INFO L273 TraceCheckUtils]: 88: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 89: Hoare triple {26651#true} assume !(~i~0 < 20); {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 90: Hoare triple {26651#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 91: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {26651#true} {26651#true} #70#return; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 93: Hoare triple {26651#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L256 TraceCheckUtils]: 94: Hoare triple {26651#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 95: Hoare triple {26651#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 96: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 97: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,501 INFO L273 TraceCheckUtils]: 98: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 99: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 100: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 101: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 102: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 103: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 104: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 105: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 106: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,502 INFO L273 TraceCheckUtils]: 107: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 108: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 109: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 110: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 111: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 112: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 113: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 114: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 115: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 116: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,503 INFO L273 TraceCheckUtils]: 117: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 118: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 119: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 120: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 121: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 122: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 123: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 124: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 125: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 126: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,504 INFO L273 TraceCheckUtils]: 127: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 128: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 129: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 130: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 131: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 132: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 133: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 134: Hoare triple {26651#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 135: Hoare triple {26651#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 136: Hoare triple {26651#true} assume !(~i~0 < 20); {26651#true} is VALID [2018-11-23 12:15:56,505 INFO L273 TraceCheckUtils]: 137: Hoare triple {26651#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26651#true} is VALID [2018-11-23 12:15:56,506 INFO L273 TraceCheckUtils]: 138: Hoare triple {26651#true} assume true; {26651#true} is VALID [2018-11-23 12:15:56,506 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {26651#true} {26651#true} #72#return; {26651#true} is VALID [2018-11-23 12:15:56,506 INFO L273 TraceCheckUtils]: 140: Hoare triple {26651#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {27086#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:56,507 INFO L273 TraceCheckUtils]: 141: Hoare triple {27086#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27086#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:56,507 INFO L273 TraceCheckUtils]: 142: Hoare triple {27086#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26654#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:56,511 INFO L273 TraceCheckUtils]: 143: Hoare triple {26654#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26654#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:56,511 INFO L273 TraceCheckUtils]: 144: Hoare triple {26654#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26655#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:56,511 INFO L273 TraceCheckUtils]: 145: Hoare triple {26655#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26655#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:56,512 INFO L273 TraceCheckUtils]: 146: Hoare triple {26655#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26656#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:56,512 INFO L273 TraceCheckUtils]: 147: Hoare triple {26656#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26656#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:56,513 INFO L273 TraceCheckUtils]: 148: Hoare triple {26656#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26657#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:56,513 INFO L273 TraceCheckUtils]: 149: Hoare triple {26657#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26657#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:56,513 INFO L273 TraceCheckUtils]: 150: Hoare triple {26657#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26658#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:56,514 INFO L273 TraceCheckUtils]: 151: Hoare triple {26658#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26658#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:56,514 INFO L273 TraceCheckUtils]: 152: Hoare triple {26658#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26659#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:56,517 INFO L273 TraceCheckUtils]: 153: Hoare triple {26659#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26659#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:56,517 INFO L273 TraceCheckUtils]: 154: Hoare triple {26659#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26660#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:56,519 INFO L273 TraceCheckUtils]: 155: Hoare triple {26660#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26660#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:56,519 INFO L273 TraceCheckUtils]: 156: Hoare triple {26660#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26661#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:56,522 INFO L273 TraceCheckUtils]: 157: Hoare triple {26661#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {26661#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:56,523 INFO L273 TraceCheckUtils]: 158: Hoare triple {26661#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {26662#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 159: Hoare triple {26662#(<= main_~i~2 9)} assume !(~i~2 < 19); {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 160: Hoare triple {26652#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L256 TraceCheckUtils]: 161: Hoare triple {26652#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 162: Hoare triple {26652#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 163: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 164: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 165: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,524 INFO L273 TraceCheckUtils]: 166: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 167: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 168: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 169: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 170: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 171: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 172: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 173: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 174: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,525 INFO L273 TraceCheckUtils]: 175: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 176: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 177: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 178: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 179: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 180: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 181: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 182: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 183: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 184: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,526 INFO L273 TraceCheckUtils]: 185: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 186: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 187: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 188: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 189: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 190: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 191: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 192: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 193: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 194: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,527 INFO L273 TraceCheckUtils]: 195: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 196: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 197: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 198: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 199: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 200: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 201: Hoare triple {26652#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 202: Hoare triple {26652#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 203: Hoare triple {26652#false} assume !(~i~0 < 20); {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 204: Hoare triple {26652#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {26652#false} is VALID [2018-11-23 12:15:56,528 INFO L273 TraceCheckUtils]: 205: Hoare triple {26652#false} assume true; {26652#false} is VALID [2018-11-23 12:15:56,529 INFO L268 TraceCheckUtils]: 206: Hoare quadruple {26652#false} {26652#false} #74#return; {26652#false} is VALID [2018-11-23 12:15:56,529 INFO L273 TraceCheckUtils]: 207: Hoare triple {26652#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {26652#false} is VALID [2018-11-23 12:15:56,529 INFO L273 TraceCheckUtils]: 208: Hoare triple {26652#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {26652#false} is VALID [2018-11-23 12:15:56,529 INFO L273 TraceCheckUtils]: 209: Hoare triple {26652#false} assume !false; {26652#false} is VALID [2018-11-23 12:15:56,544 INFO L134 CoverageAnalysis]: Checked inductivity of 4216 backedges. 1690 proven. 81 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:15:56,565 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:56,565 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 13 [2018-11-23 12:15:56,566 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 210 [2018-11-23 12:15:56,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:56,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:15:56,641 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:56,641 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:15:56,641 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:15:56,641 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:15:56,641 INFO L87 Difference]: Start difference. First operand 121 states and 125 transitions. Second operand 13 states. [2018-11-23 12:15:57,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:57,081 INFO L93 Difference]: Finished difference Result 175 states and 180 transitions. [2018-11-23 12:15:57,081 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 12:15:57,081 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 210 [2018-11-23 12:15:57,081 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:15:57,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:15:57,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2018-11-23 12:15:57,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:15:57,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2018-11-23 12:15:57,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2018-11-23 12:15:57,796 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:15:57,799 INFO L225 Difference]: With dead ends: 175 [2018-11-23 12:15:57,799 INFO L226 Difference]: Without dead ends: 124 [2018-11-23 12:15:57,800 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 221 GetRequests, 210 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:15:57,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-11-23 12:15:57,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 123. [2018-11-23 12:15:57,879 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:15:57,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 123 states. [2018-11-23 12:15:57,879 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 123 states. [2018-11-23 12:15:57,880 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 123 states. [2018-11-23 12:15:57,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:57,882 INFO L93 Difference]: Finished difference Result 124 states and 128 transitions. [2018-11-23 12:15:57,882 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 128 transitions. [2018-11-23 12:15:57,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:57,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:57,882 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 124 states. [2018-11-23 12:15:57,882 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 124 states. [2018-11-23 12:15:57,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:15:57,884 INFO L93 Difference]: Finished difference Result 124 states and 128 transitions. [2018-11-23 12:15:57,884 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 128 transitions. [2018-11-23 12:15:57,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:15:57,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:15:57,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:15:57,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:15:57,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-11-23 12:15:57,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 127 transitions. [2018-11-23 12:15:57,887 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 127 transitions. Word has length 210 [2018-11-23 12:15:57,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:15:57,887 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 127 transitions. [2018-11-23 12:15:57,887 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:15:57,888 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 127 transitions. [2018-11-23 12:15:57,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 213 [2018-11-23 12:15:57,889 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:15:57,889 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 10, 10, 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:15:57,889 INFO L423 AbstractCegarLoop]: === Iteration 38 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:15:57,889 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:15:57,889 INFO L82 PathProgramCache]: Analyzing trace with hash -285742089, now seen corresponding path program 34 times [2018-11-23 12:15:57,890 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:15:57,890 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:15:57,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:57,890 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:15:57,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:15:57,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:59,398 INFO L256 TraceCheckUtils]: 0: Hoare triple {27984#true} call ULTIMATE.init(); {27984#true} is VALID [2018-11-23 12:15:59,399 INFO L273 TraceCheckUtils]: 1: Hoare triple {27984#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27984#true} is VALID [2018-11-23 12:15:59,399 INFO L273 TraceCheckUtils]: 2: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,399 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27984#true} {27984#true} #66#return; {27984#true} is VALID [2018-11-23 12:15:59,399 INFO L256 TraceCheckUtils]: 4: Hoare triple {27984#true} call #t~ret12 := main(); {27984#true} is VALID [2018-11-23 12:15:59,399 INFO L273 TraceCheckUtils]: 5: Hoare triple {27984#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27984#true} is VALID [2018-11-23 12:15:59,400 INFO L273 TraceCheckUtils]: 6: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,400 INFO L273 TraceCheckUtils]: 7: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,400 INFO L273 TraceCheckUtils]: 8: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,400 INFO L273 TraceCheckUtils]: 9: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,400 INFO L273 TraceCheckUtils]: 10: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 11: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 12: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 13: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 14: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 15: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 16: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 17: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 18: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,401 INFO L273 TraceCheckUtils]: 19: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 20: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 21: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 22: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 23: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 24: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 25: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 26: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 27: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,402 INFO L273 TraceCheckUtils]: 28: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 29: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 30: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 31: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 32: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 33: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 34: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 35: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 36: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 37: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,403 INFO L273 TraceCheckUtils]: 38: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 39: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 40: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 41: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 42: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 43: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 44: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 45: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 46: Hoare triple {27984#true} assume !(~i~1 < 20); {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L256 TraceCheckUtils]: 47: Hoare triple {27984#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {27984#true} is VALID [2018-11-23 12:15:59,404 INFO L273 TraceCheckUtils]: 48: Hoare triple {27984#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 49: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 50: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 51: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 52: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 53: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 54: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 55: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 56: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,405 INFO L273 TraceCheckUtils]: 57: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 58: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 59: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 60: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 61: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 62: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 63: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 64: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 65: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 66: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,406 INFO L273 TraceCheckUtils]: 67: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 68: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 69: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 70: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 71: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 72: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 73: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 74: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 75: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 76: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,407 INFO L273 TraceCheckUtils]: 77: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 78: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 79: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 80: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 81: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 82: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 83: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 84: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 85: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 86: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,408 INFO L273 TraceCheckUtils]: 87: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 88: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 89: Hoare triple {27984#true} assume !(~i~0 < 20); {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 90: Hoare triple {27984#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 91: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {27984#true} {27984#true} #70#return; {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 93: Hoare triple {27984#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L256 TraceCheckUtils]: 94: Hoare triple {27984#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 95: Hoare triple {27984#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27984#true} is VALID [2018-11-23 12:15:59,409 INFO L273 TraceCheckUtils]: 96: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 97: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 98: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 99: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 100: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 101: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 102: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 103: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 104: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 105: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,410 INFO L273 TraceCheckUtils]: 106: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 107: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 108: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 109: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 110: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 111: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 112: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 113: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 114: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 115: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,411 INFO L273 TraceCheckUtils]: 116: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 117: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 118: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 119: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 120: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 121: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 122: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 123: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 124: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 125: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,412 INFO L273 TraceCheckUtils]: 126: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 127: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 128: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 129: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 130: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 131: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 132: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 133: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 134: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 135: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,413 INFO L273 TraceCheckUtils]: 136: Hoare triple {27984#true} assume !(~i~0 < 20); {27984#true} is VALID [2018-11-23 12:15:59,414 INFO L273 TraceCheckUtils]: 137: Hoare triple {27984#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27984#true} is VALID [2018-11-23 12:15:59,414 INFO L273 TraceCheckUtils]: 138: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,414 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {27984#true} {27984#true} #72#return; {27984#true} is VALID [2018-11-23 12:15:59,414 INFO L273 TraceCheckUtils]: 140: Hoare triple {27984#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {27986#(= main_~i~2 0)} is VALID [2018-11-23 12:15:59,414 INFO L273 TraceCheckUtils]: 141: Hoare triple {27986#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27986#(= main_~i~2 0)} is VALID [2018-11-23 12:15:59,415 INFO L273 TraceCheckUtils]: 142: Hoare triple {27986#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27987#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:59,415 INFO L273 TraceCheckUtils]: 143: Hoare triple {27987#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27987#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:59,416 INFO L273 TraceCheckUtils]: 144: Hoare triple {27987#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27988#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:59,416 INFO L273 TraceCheckUtils]: 145: Hoare triple {27988#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27988#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:59,416 INFO L273 TraceCheckUtils]: 146: Hoare triple {27988#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27989#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:59,417 INFO L273 TraceCheckUtils]: 147: Hoare triple {27989#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27989#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:59,417 INFO L273 TraceCheckUtils]: 148: Hoare triple {27989#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27990#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:59,418 INFO L273 TraceCheckUtils]: 149: Hoare triple {27990#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27990#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:59,419 INFO L273 TraceCheckUtils]: 150: Hoare triple {27990#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27991#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:59,419 INFO L273 TraceCheckUtils]: 151: Hoare triple {27991#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27991#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:59,420 INFO L273 TraceCheckUtils]: 152: Hoare triple {27991#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27992#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:59,420 INFO L273 TraceCheckUtils]: 153: Hoare triple {27992#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27992#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:59,421 INFO L273 TraceCheckUtils]: 154: Hoare triple {27992#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27993#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:59,421 INFO L273 TraceCheckUtils]: 155: Hoare triple {27993#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27993#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:59,422 INFO L273 TraceCheckUtils]: 156: Hoare triple {27993#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27994#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:59,422 INFO L273 TraceCheckUtils]: 157: Hoare triple {27994#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27994#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:59,423 INFO L273 TraceCheckUtils]: 158: Hoare triple {27994#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27995#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:59,424 INFO L273 TraceCheckUtils]: 159: Hoare triple {27995#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27995#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:59,424 INFO L273 TraceCheckUtils]: 160: Hoare triple {27995#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27996#(<= main_~i~2 10)} is VALID [2018-11-23 12:15:59,425 INFO L273 TraceCheckUtils]: 161: Hoare triple {27996#(<= main_~i~2 10)} assume !(~i~2 < 19); {27985#false} is VALID [2018-11-23 12:15:59,425 INFO L273 TraceCheckUtils]: 162: Hoare triple {27985#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {27985#false} is VALID [2018-11-23 12:15:59,425 INFO L256 TraceCheckUtils]: 163: Hoare triple {27985#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {27984#true} is VALID [2018-11-23 12:15:59,425 INFO L273 TraceCheckUtils]: 164: Hoare triple {27984#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 165: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 166: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 167: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 168: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 169: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,426 INFO L273 TraceCheckUtils]: 170: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,427 INFO L273 TraceCheckUtils]: 171: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,427 INFO L273 TraceCheckUtils]: 172: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,427 INFO L273 TraceCheckUtils]: 173: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,427 INFO L273 TraceCheckUtils]: 174: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,427 INFO L273 TraceCheckUtils]: 175: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 176: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 177: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 178: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 179: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 180: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 181: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 182: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 183: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,428 INFO L273 TraceCheckUtils]: 184: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 185: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 186: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 187: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 188: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 189: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 190: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 191: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 192: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 193: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,429 INFO L273 TraceCheckUtils]: 194: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 195: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 196: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 197: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 198: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 199: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 200: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 201: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 202: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,430 INFO L273 TraceCheckUtils]: 203: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 204: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 205: Hoare triple {27984#true} assume !(~i~0 < 20); {27984#true} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 206: Hoare triple {27984#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27984#true} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 207: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,431 INFO L268 TraceCheckUtils]: 208: Hoare quadruple {27984#true} {27985#false} #74#return; {27985#false} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 209: Hoare triple {27985#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {27985#false} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 210: Hoare triple {27985#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27985#false} is VALID [2018-11-23 12:15:59,431 INFO L273 TraceCheckUtils]: 211: Hoare triple {27985#false} assume !false; {27985#false} is VALID [2018-11-23 12:15:59,447 INFO L134 CoverageAnalysis]: Checked inductivity of 4235 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:15:59,447 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:15:59,447 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:15:59,456 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:15:59,551 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:15:59,552 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:15:59,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:15:59,591 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:15:59,895 INFO L256 TraceCheckUtils]: 0: Hoare triple {27984#true} call ULTIMATE.init(); {27984#true} is VALID [2018-11-23 12:15:59,895 INFO L273 TraceCheckUtils]: 1: Hoare triple {27984#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {27984#true} is VALID [2018-11-23 12:15:59,895 INFO L273 TraceCheckUtils]: 2: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,896 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {27984#true} {27984#true} #66#return; {27984#true} is VALID [2018-11-23 12:15:59,896 INFO L256 TraceCheckUtils]: 4: Hoare triple {27984#true} call #t~ret12 := main(); {27984#true} is VALID [2018-11-23 12:15:59,896 INFO L273 TraceCheckUtils]: 5: Hoare triple {27984#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {27984#true} is VALID [2018-11-23 12:15:59,896 INFO L273 TraceCheckUtils]: 6: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,896 INFO L273 TraceCheckUtils]: 7: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 8: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 10: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 11: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 12: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 13: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 14: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 15: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,897 INFO L273 TraceCheckUtils]: 16: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 17: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 18: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 19: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 20: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 21: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 22: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 23: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 24: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 25: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,898 INFO L273 TraceCheckUtils]: 26: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 27: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 28: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 29: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 30: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 31: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 32: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 33: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 34: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 35: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,899 INFO L273 TraceCheckUtils]: 36: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 37: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 38: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 39: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 40: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 41: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 42: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 43: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 44: Hoare triple {27984#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {27984#true} is VALID [2018-11-23 12:15:59,900 INFO L273 TraceCheckUtils]: 45: Hoare triple {27984#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 46: Hoare triple {27984#true} assume !(~i~1 < 20); {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L256 TraceCheckUtils]: 47: Hoare triple {27984#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 48: Hoare triple {27984#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 49: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 50: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 51: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 52: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 53: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 54: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,901 INFO L273 TraceCheckUtils]: 55: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 56: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 57: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 58: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 59: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 60: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 61: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 62: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 63: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 64: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,902 INFO L273 TraceCheckUtils]: 65: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 66: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 67: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 68: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 69: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 70: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 71: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 72: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 73: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 74: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,903 INFO L273 TraceCheckUtils]: 75: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 76: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 77: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 78: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 79: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 80: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 81: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 82: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 83: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,904 INFO L273 TraceCheckUtils]: 84: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 85: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 86: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 87: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 88: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 89: Hoare triple {27984#true} assume !(~i~0 < 20); {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 90: Hoare triple {27984#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 91: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {27984#true} {27984#true} #70#return; {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L273 TraceCheckUtils]: 93: Hoare triple {27984#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {27984#true} is VALID [2018-11-23 12:15:59,905 INFO L256 TraceCheckUtils]: 94: Hoare triple {27984#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 95: Hoare triple {27984#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 96: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 97: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 98: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 99: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 100: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 101: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 102: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,906 INFO L273 TraceCheckUtils]: 103: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 104: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 105: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 106: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 107: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 108: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 109: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 110: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 111: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 112: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,907 INFO L273 TraceCheckUtils]: 113: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 114: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 115: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 116: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 117: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 118: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 119: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 120: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 121: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,908 INFO L273 TraceCheckUtils]: 122: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 123: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 124: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 125: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 126: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 127: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 128: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 129: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 130: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 131: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,909 INFO L273 TraceCheckUtils]: 132: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 133: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 134: Hoare triple {27984#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 135: Hoare triple {27984#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 136: Hoare triple {27984#true} assume !(~i~0 < 20); {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 137: Hoare triple {27984#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L273 TraceCheckUtils]: 138: Hoare triple {27984#true} assume true; {27984#true} is VALID [2018-11-23 12:15:59,910 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {27984#true} {27984#true} #72#return; {27984#true} is VALID [2018-11-23 12:15:59,911 INFO L273 TraceCheckUtils]: 140: Hoare triple {27984#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {28420#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:59,911 INFO L273 TraceCheckUtils]: 141: Hoare triple {28420#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {28420#(<= main_~i~2 0)} is VALID [2018-11-23 12:15:59,912 INFO L273 TraceCheckUtils]: 142: Hoare triple {28420#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27987#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:59,912 INFO L273 TraceCheckUtils]: 143: Hoare triple {27987#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27987#(<= main_~i~2 1)} is VALID [2018-11-23 12:15:59,912 INFO L273 TraceCheckUtils]: 144: Hoare triple {27987#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27988#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:59,913 INFO L273 TraceCheckUtils]: 145: Hoare triple {27988#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27988#(<= main_~i~2 2)} is VALID [2018-11-23 12:15:59,913 INFO L273 TraceCheckUtils]: 146: Hoare triple {27988#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27989#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:59,913 INFO L273 TraceCheckUtils]: 147: Hoare triple {27989#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27989#(<= main_~i~2 3)} is VALID [2018-11-23 12:15:59,914 INFO L273 TraceCheckUtils]: 148: Hoare triple {27989#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27990#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:59,914 INFO L273 TraceCheckUtils]: 149: Hoare triple {27990#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27990#(<= main_~i~2 4)} is VALID [2018-11-23 12:15:59,915 INFO L273 TraceCheckUtils]: 150: Hoare triple {27990#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27991#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:59,916 INFO L273 TraceCheckUtils]: 151: Hoare triple {27991#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27991#(<= main_~i~2 5)} is VALID [2018-11-23 12:15:59,916 INFO L273 TraceCheckUtils]: 152: Hoare triple {27991#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27992#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:59,917 INFO L273 TraceCheckUtils]: 153: Hoare triple {27992#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27992#(<= main_~i~2 6)} is VALID [2018-11-23 12:15:59,918 INFO L273 TraceCheckUtils]: 154: Hoare triple {27992#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27993#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:59,918 INFO L273 TraceCheckUtils]: 155: Hoare triple {27993#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27993#(<= main_~i~2 7)} is VALID [2018-11-23 12:15:59,919 INFO L273 TraceCheckUtils]: 156: Hoare triple {27993#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27994#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:59,919 INFO L273 TraceCheckUtils]: 157: Hoare triple {27994#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27994#(<= main_~i~2 8)} is VALID [2018-11-23 12:15:59,920 INFO L273 TraceCheckUtils]: 158: Hoare triple {27994#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27995#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:59,921 INFO L273 TraceCheckUtils]: 159: Hoare triple {27995#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {27995#(<= main_~i~2 9)} is VALID [2018-11-23 12:15:59,921 INFO L273 TraceCheckUtils]: 160: Hoare triple {27995#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {27996#(<= main_~i~2 10)} is VALID [2018-11-23 12:15:59,922 INFO L273 TraceCheckUtils]: 161: Hoare triple {27996#(<= main_~i~2 10)} assume !(~i~2 < 19); {27985#false} is VALID [2018-11-23 12:15:59,922 INFO L273 TraceCheckUtils]: 162: Hoare triple {27985#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {27985#false} is VALID [2018-11-23 12:15:59,922 INFO L256 TraceCheckUtils]: 163: Hoare triple {27985#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {27985#false} is VALID [2018-11-23 12:15:59,922 INFO L273 TraceCheckUtils]: 164: Hoare triple {27985#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {27985#false} is VALID [2018-11-23 12:15:59,923 INFO L273 TraceCheckUtils]: 165: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,923 INFO L273 TraceCheckUtils]: 166: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,923 INFO L273 TraceCheckUtils]: 167: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,923 INFO L273 TraceCheckUtils]: 168: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,923 INFO L273 TraceCheckUtils]: 169: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 170: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 171: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 172: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 173: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 174: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,924 INFO L273 TraceCheckUtils]: 175: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 176: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 177: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 178: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 179: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 180: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 181: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 182: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 183: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,925 INFO L273 TraceCheckUtils]: 184: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 185: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 186: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 187: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 188: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 189: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 190: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 191: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 192: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,926 INFO L273 TraceCheckUtils]: 193: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 194: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 195: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 196: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 197: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 198: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 199: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 200: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 201: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 202: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,927 INFO L273 TraceCheckUtils]: 203: Hoare triple {27985#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 204: Hoare triple {27985#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 205: Hoare triple {27985#false} assume !(~i~0 < 20); {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 206: Hoare triple {27985#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 207: Hoare triple {27985#false} assume true; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L268 TraceCheckUtils]: 208: Hoare quadruple {27985#false} {27985#false} #74#return; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 209: Hoare triple {27985#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 210: Hoare triple {27985#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {27985#false} is VALID [2018-11-23 12:15:59,928 INFO L273 TraceCheckUtils]: 211: Hoare triple {27985#false} assume !false; {27985#false} is VALID [2018-11-23 12:15:59,944 INFO L134 CoverageAnalysis]: Checked inductivity of 4235 backedges. 1690 proven. 100 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:15:59,963 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:15:59,964 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 14 [2018-11-23 12:15:59,964 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 212 [2018-11-23 12:15:59,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:15:59,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-11-23 12:16:00,022 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:00,022 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-11-23 12:16:00,023 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-11-23 12:16:00,023 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:16:00,023 INFO L87 Difference]: Start difference. First operand 123 states and 127 transitions. Second operand 14 states. [2018-11-23 12:16:00,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:00,379 INFO L93 Difference]: Finished difference Result 177 states and 182 transitions. [2018-11-23 12:16:00,379 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:16:00,379 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 212 [2018-11-23 12:16:00,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:00,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:16:00,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 12:16:00,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-11-23 12:16:00,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 65 transitions. [2018-11-23 12:16:00,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 65 transitions. [2018-11-23 12:16:00,436 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:00,439 INFO L225 Difference]: With dead ends: 177 [2018-11-23 12:16:00,439 INFO L226 Difference]: Without dead ends: 126 [2018-11-23 12:16:00,439 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 224 GetRequests, 212 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=91, Invalid=91, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:16:00,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2018-11-23 12:16:00,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 125. [2018-11-23 12:16:00,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:00,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 125 states. [2018-11-23 12:16:00,759 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 125 states. [2018-11-23 12:16:00,759 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 125 states. [2018-11-23 12:16:00,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:00,761 INFO L93 Difference]: Finished difference Result 126 states and 130 transitions. [2018-11-23 12:16:00,762 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 130 transitions. [2018-11-23 12:16:00,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:00,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:00,762 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 126 states. [2018-11-23 12:16:00,762 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 126 states. [2018-11-23 12:16:00,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:00,764 INFO L93 Difference]: Finished difference Result 126 states and 130 transitions. [2018-11-23 12:16:00,764 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 130 transitions. [2018-11-23 12:16:00,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:00,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:00,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:00,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:00,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2018-11-23 12:16:00,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 129 transitions. [2018-11-23 12:16:00,767 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 129 transitions. Word has length 212 [2018-11-23 12:16:00,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:00,767 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 129 transitions. [2018-11-23 12:16:00,767 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-11-23 12:16:00,768 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 129 transitions. [2018-11-23 12:16:00,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 215 [2018-11-23 12:16:00,769 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:00,769 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 11, 11, 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:16:00,769 INFO L423 AbstractCegarLoop]: === Iteration 39 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:00,769 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:00,769 INFO L82 PathProgramCache]: Analyzing trace with hash -385632139, now seen corresponding path program 35 times [2018-11-23 12:16:00,770 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:00,770 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:00,770 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:00,770 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:00,770 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:00,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:01,068 INFO L256 TraceCheckUtils]: 0: Hoare triple {29334#true} call ULTIMATE.init(); {29334#true} is VALID [2018-11-23 12:16:01,068 INFO L273 TraceCheckUtils]: 1: Hoare triple {29334#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29334#true} is VALID [2018-11-23 12:16:01,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:01,068 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29334#true} {29334#true} #66#return; {29334#true} is VALID [2018-11-23 12:16:01,068 INFO L256 TraceCheckUtils]: 4: Hoare triple {29334#true} call #t~ret12 := main(); {29334#true} is VALID [2018-11-23 12:16:01,068 INFO L273 TraceCheckUtils]: 5: Hoare triple {29334#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 6: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 7: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 8: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 9: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 10: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 11: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 12: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 13: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,069 INFO L273 TraceCheckUtils]: 14: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 15: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 16: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 17: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 18: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 19: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 20: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,070 INFO L273 TraceCheckUtils]: 21: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 22: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 23: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 24: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 25: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 26: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 27: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 28: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,071 INFO L273 TraceCheckUtils]: 29: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 30: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 31: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 32: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 33: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 34: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 35: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 36: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 37: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 38: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,072 INFO L273 TraceCheckUtils]: 39: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 40: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 41: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 42: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 43: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 44: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 45: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 46: Hoare triple {29334#true} assume !(~i~1 < 20); {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L256 TraceCheckUtils]: 47: Hoare triple {29334#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 48: Hoare triple {29334#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29334#true} is VALID [2018-11-23 12:16:01,073 INFO L273 TraceCheckUtils]: 49: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 50: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 51: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 52: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 53: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 54: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 55: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 56: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 57: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,074 INFO L273 TraceCheckUtils]: 58: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 59: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 60: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 61: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 62: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 63: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 64: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 65: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 66: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 67: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,075 INFO L273 TraceCheckUtils]: 68: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 69: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 70: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 71: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 72: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 73: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 74: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 75: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 76: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 77: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,076 INFO L273 TraceCheckUtils]: 78: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 79: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 80: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 81: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 82: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 83: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 84: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 85: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 86: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 87: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,077 INFO L273 TraceCheckUtils]: 88: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 89: Hoare triple {29334#true} assume !(~i~0 < 20); {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 90: Hoare triple {29334#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 91: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {29334#true} {29334#true} #70#return; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 93: Hoare triple {29334#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L256 TraceCheckUtils]: 94: Hoare triple {29334#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 95: Hoare triple {29334#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 96: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 97: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,078 INFO L273 TraceCheckUtils]: 98: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 99: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 100: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 101: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 102: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 103: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 104: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 105: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 106: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,079 INFO L273 TraceCheckUtils]: 107: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 108: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 109: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 110: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 111: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 112: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 113: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 114: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 115: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 116: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,080 INFO L273 TraceCheckUtils]: 117: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 118: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 119: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 120: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 121: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 122: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 123: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 124: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 125: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 126: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,081 INFO L273 TraceCheckUtils]: 127: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 128: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 129: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 130: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 131: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 132: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 133: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 134: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 135: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 136: Hoare triple {29334#true} assume !(~i~0 < 20); {29334#true} is VALID [2018-11-23 12:16:01,082 INFO L273 TraceCheckUtils]: 137: Hoare triple {29334#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29334#true} is VALID [2018-11-23 12:16:01,083 INFO L273 TraceCheckUtils]: 138: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:01,083 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {29334#true} {29334#true} #72#return; {29334#true} is VALID [2018-11-23 12:16:01,083 INFO L273 TraceCheckUtils]: 140: Hoare triple {29334#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {29336#(= main_~i~2 0)} is VALID [2018-11-23 12:16:01,083 INFO L273 TraceCheckUtils]: 141: Hoare triple {29336#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29336#(= main_~i~2 0)} is VALID [2018-11-23 12:16:01,084 INFO L273 TraceCheckUtils]: 142: Hoare triple {29336#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29337#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:01,084 INFO L273 TraceCheckUtils]: 143: Hoare triple {29337#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29337#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:01,085 INFO L273 TraceCheckUtils]: 144: Hoare triple {29337#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29338#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:01,085 INFO L273 TraceCheckUtils]: 145: Hoare triple {29338#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29338#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:01,085 INFO L273 TraceCheckUtils]: 146: Hoare triple {29338#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29339#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:01,086 INFO L273 TraceCheckUtils]: 147: Hoare triple {29339#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29339#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:01,086 INFO L273 TraceCheckUtils]: 148: Hoare triple {29339#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29340#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:01,087 INFO L273 TraceCheckUtils]: 149: Hoare triple {29340#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29340#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:01,087 INFO L273 TraceCheckUtils]: 150: Hoare triple {29340#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29341#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:01,088 INFO L273 TraceCheckUtils]: 151: Hoare triple {29341#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29341#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:01,089 INFO L273 TraceCheckUtils]: 152: Hoare triple {29341#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29342#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:01,089 INFO L273 TraceCheckUtils]: 153: Hoare triple {29342#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29342#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:01,090 INFO L273 TraceCheckUtils]: 154: Hoare triple {29342#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29343#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:01,090 INFO L273 TraceCheckUtils]: 155: Hoare triple {29343#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29343#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:01,091 INFO L273 TraceCheckUtils]: 156: Hoare triple {29343#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29344#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:01,092 INFO L273 TraceCheckUtils]: 157: Hoare triple {29344#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29344#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:01,092 INFO L273 TraceCheckUtils]: 158: Hoare triple {29344#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29345#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:01,093 INFO L273 TraceCheckUtils]: 159: Hoare triple {29345#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29345#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:01,093 INFO L273 TraceCheckUtils]: 160: Hoare triple {29345#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29346#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:01,094 INFO L273 TraceCheckUtils]: 161: Hoare triple {29346#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29346#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:01,095 INFO L273 TraceCheckUtils]: 162: Hoare triple {29346#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29347#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:01,095 INFO L273 TraceCheckUtils]: 163: Hoare triple {29347#(<= main_~i~2 11)} assume !(~i~2 < 19); {29335#false} is VALID [2018-11-23 12:16:01,096 INFO L273 TraceCheckUtils]: 164: Hoare triple {29335#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {29335#false} is VALID [2018-11-23 12:16:01,096 INFO L256 TraceCheckUtils]: 165: Hoare triple {29335#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {29334#true} is VALID [2018-11-23 12:16:01,096 INFO L273 TraceCheckUtils]: 166: Hoare triple {29334#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29334#true} is VALID [2018-11-23 12:16:01,096 INFO L273 TraceCheckUtils]: 167: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,096 INFO L273 TraceCheckUtils]: 168: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,096 INFO L273 TraceCheckUtils]: 169: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,097 INFO L273 TraceCheckUtils]: 170: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,097 INFO L273 TraceCheckUtils]: 171: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,097 INFO L273 TraceCheckUtils]: 172: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,097 INFO L273 TraceCheckUtils]: 173: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,097 INFO L273 TraceCheckUtils]: 174: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,098 INFO L273 TraceCheckUtils]: 175: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,098 INFO L273 TraceCheckUtils]: 176: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,098 INFO L273 TraceCheckUtils]: 177: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,098 INFO L273 TraceCheckUtils]: 178: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,098 INFO L273 TraceCheckUtils]: 179: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 180: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 181: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 182: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 183: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 184: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 185: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 186: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,099 INFO L273 TraceCheckUtils]: 187: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 188: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 189: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 190: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 191: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 192: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 193: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 194: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 195: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 196: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,100 INFO L273 TraceCheckUtils]: 197: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 198: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 199: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 200: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 201: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 202: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 203: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 204: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 205: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 206: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:01,101 INFO L273 TraceCheckUtils]: 207: Hoare triple {29334#true} assume !(~i~0 < 20); {29334#true} is VALID [2018-11-23 12:16:01,102 INFO L273 TraceCheckUtils]: 208: Hoare triple {29334#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29334#true} is VALID [2018-11-23 12:16:01,102 INFO L273 TraceCheckUtils]: 209: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:01,102 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {29334#true} {29335#false} #74#return; {29335#false} is VALID [2018-11-23 12:16:01,102 INFO L273 TraceCheckUtils]: 211: Hoare triple {29335#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {29335#false} is VALID [2018-11-23 12:16:01,102 INFO L273 TraceCheckUtils]: 212: Hoare triple {29335#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29335#false} is VALID [2018-11-23 12:16:01,102 INFO L273 TraceCheckUtils]: 213: Hoare triple {29335#false} assume !false; {29335#false} is VALID [2018-11-23 12:16:01,118 INFO L134 CoverageAnalysis]: Checked inductivity of 4256 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:01,118 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:01,118 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:01,128 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:16:08,769 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 42 check-sat command(s) [2018-11-23 12:16:08,769 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:08,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:08,858 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:09,085 INFO L256 TraceCheckUtils]: 0: Hoare triple {29334#true} call ULTIMATE.init(); {29334#true} is VALID [2018-11-23 12:16:09,086 INFO L273 TraceCheckUtils]: 1: Hoare triple {29334#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {29334#true} is VALID [2018-11-23 12:16:09,086 INFO L273 TraceCheckUtils]: 2: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:09,086 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {29334#true} {29334#true} #66#return; {29334#true} is VALID [2018-11-23 12:16:09,086 INFO L256 TraceCheckUtils]: 4: Hoare triple {29334#true} call #t~ret12 := main(); {29334#true} is VALID [2018-11-23 12:16:09,086 INFO L273 TraceCheckUtils]: 5: Hoare triple {29334#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 6: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 7: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 8: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 9: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 10: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 11: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 12: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,087 INFO L273 TraceCheckUtils]: 13: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 14: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 15: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 16: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 17: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 18: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 19: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 20: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 21: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,088 INFO L273 TraceCheckUtils]: 22: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 23: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 24: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 25: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 26: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 27: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 28: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 29: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 30: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 31: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,089 INFO L273 TraceCheckUtils]: 32: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 33: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 34: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 35: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 36: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 37: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 38: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 39: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 40: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 41: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,090 INFO L273 TraceCheckUtils]: 42: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 43: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 44: Hoare triple {29334#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 45: Hoare triple {29334#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 46: Hoare triple {29334#true} assume !(~i~1 < 20); {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L256 TraceCheckUtils]: 47: Hoare triple {29334#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 48: Hoare triple {29334#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 49: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 50: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 51: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,091 INFO L273 TraceCheckUtils]: 52: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 53: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 54: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 55: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 56: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 57: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 58: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 59: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 60: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,092 INFO L273 TraceCheckUtils]: 61: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 62: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 63: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 64: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 65: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 66: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 67: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 68: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 69: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 70: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,093 INFO L273 TraceCheckUtils]: 71: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 72: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 73: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 74: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 75: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 76: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 77: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 78: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 79: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 80: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,094 INFO L273 TraceCheckUtils]: 81: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 82: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 83: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 84: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 85: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 86: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 87: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 88: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 89: Hoare triple {29334#true} assume !(~i~0 < 20); {29334#true} is VALID [2018-11-23 12:16:09,095 INFO L273 TraceCheckUtils]: 90: Hoare triple {29334#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 91: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {29334#true} {29334#true} #70#return; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 93: Hoare triple {29334#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L256 TraceCheckUtils]: 94: Hoare triple {29334#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 95: Hoare triple {29334#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 96: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 97: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 98: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 99: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,096 INFO L273 TraceCheckUtils]: 100: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 101: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 102: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 103: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 104: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 105: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 106: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 107: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 108: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,097 INFO L273 TraceCheckUtils]: 109: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 110: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 111: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 112: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 113: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 114: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 115: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 116: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 117: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 118: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,098 INFO L273 TraceCheckUtils]: 119: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 120: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 121: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 122: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 123: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 124: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 125: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 126: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 127: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 128: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,099 INFO L273 TraceCheckUtils]: 129: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 130: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 131: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 132: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 133: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 134: Hoare triple {29334#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 135: Hoare triple {29334#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 136: Hoare triple {29334#true} assume !(~i~0 < 20); {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 137: Hoare triple {29334#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L273 TraceCheckUtils]: 138: Hoare triple {29334#true} assume true; {29334#true} is VALID [2018-11-23 12:16:09,100 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {29334#true} {29334#true} #72#return; {29334#true} is VALID [2018-11-23 12:16:09,101 INFO L273 TraceCheckUtils]: 140: Hoare triple {29334#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {29771#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:09,101 INFO L273 TraceCheckUtils]: 141: Hoare triple {29771#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29771#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:09,102 INFO L273 TraceCheckUtils]: 142: Hoare triple {29771#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29337#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:09,102 INFO L273 TraceCheckUtils]: 143: Hoare triple {29337#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29337#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:09,103 INFO L273 TraceCheckUtils]: 144: Hoare triple {29337#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29338#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:09,103 INFO L273 TraceCheckUtils]: 145: Hoare triple {29338#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29338#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:09,103 INFO L273 TraceCheckUtils]: 146: Hoare triple {29338#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29339#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:09,104 INFO L273 TraceCheckUtils]: 147: Hoare triple {29339#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29339#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:09,104 INFO L273 TraceCheckUtils]: 148: Hoare triple {29339#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29340#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:09,105 INFO L273 TraceCheckUtils]: 149: Hoare triple {29340#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29340#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:09,105 INFO L273 TraceCheckUtils]: 150: Hoare triple {29340#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29341#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:09,106 INFO L273 TraceCheckUtils]: 151: Hoare triple {29341#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29341#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:09,107 INFO L273 TraceCheckUtils]: 152: Hoare triple {29341#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29342#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:09,107 INFO L273 TraceCheckUtils]: 153: Hoare triple {29342#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29342#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:09,108 INFO L273 TraceCheckUtils]: 154: Hoare triple {29342#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29343#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:09,108 INFO L273 TraceCheckUtils]: 155: Hoare triple {29343#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29343#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:09,109 INFO L273 TraceCheckUtils]: 156: Hoare triple {29343#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29344#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:09,110 INFO L273 TraceCheckUtils]: 157: Hoare triple {29344#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29344#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:09,110 INFO L273 TraceCheckUtils]: 158: Hoare triple {29344#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29345#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:09,111 INFO L273 TraceCheckUtils]: 159: Hoare triple {29345#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29345#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:09,112 INFO L273 TraceCheckUtils]: 160: Hoare triple {29345#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29346#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:09,112 INFO L273 TraceCheckUtils]: 161: Hoare triple {29346#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {29346#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:09,113 INFO L273 TraceCheckUtils]: 162: Hoare triple {29346#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {29347#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:09,114 INFO L273 TraceCheckUtils]: 163: Hoare triple {29347#(<= main_~i~2 11)} assume !(~i~2 < 19); {29335#false} is VALID [2018-11-23 12:16:09,114 INFO L273 TraceCheckUtils]: 164: Hoare triple {29335#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {29335#false} is VALID [2018-11-23 12:16:09,114 INFO L256 TraceCheckUtils]: 165: Hoare triple {29335#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {29335#false} is VALID [2018-11-23 12:16:09,114 INFO L273 TraceCheckUtils]: 166: Hoare triple {29335#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {29335#false} is VALID [2018-11-23 12:16:09,114 INFO L273 TraceCheckUtils]: 167: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,115 INFO L273 TraceCheckUtils]: 168: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,115 INFO L273 TraceCheckUtils]: 169: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,115 INFO L273 TraceCheckUtils]: 170: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,115 INFO L273 TraceCheckUtils]: 171: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,115 INFO L273 TraceCheckUtils]: 172: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 173: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 174: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 175: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 176: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 177: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,116 INFO L273 TraceCheckUtils]: 178: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 179: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 180: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 181: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 182: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 183: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,117 INFO L273 TraceCheckUtils]: 184: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 185: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 186: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 187: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 188: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 189: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 190: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,118 INFO L273 TraceCheckUtils]: 191: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 192: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 193: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 194: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 195: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 196: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 197: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 198: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 199: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 200: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,119 INFO L273 TraceCheckUtils]: 201: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 202: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 203: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 204: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 205: Hoare triple {29335#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 206: Hoare triple {29335#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 207: Hoare triple {29335#false} assume !(~i~0 < 20); {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 208: Hoare triple {29335#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L273 TraceCheckUtils]: 209: Hoare triple {29335#false} assume true; {29335#false} is VALID [2018-11-23 12:16:09,120 INFO L268 TraceCheckUtils]: 210: Hoare quadruple {29335#false} {29335#false} #74#return; {29335#false} is VALID [2018-11-23 12:16:09,121 INFO L273 TraceCheckUtils]: 211: Hoare triple {29335#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {29335#false} is VALID [2018-11-23 12:16:09,121 INFO L273 TraceCheckUtils]: 212: Hoare triple {29335#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {29335#false} is VALID [2018-11-23 12:16:09,121 INFO L273 TraceCheckUtils]: 213: Hoare triple {29335#false} assume !false; {29335#false} is VALID [2018-11-23 12:16:09,137 INFO L134 CoverageAnalysis]: Checked inductivity of 4256 backedges. 1690 proven. 121 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:16:09,171 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:09,172 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 15 [2018-11-23 12:16:09,172 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 214 [2018-11-23 12:16:09,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:09,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:16:09,295 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:09,295 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:16:09,295 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:16:09,296 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:16:09,296 INFO L87 Difference]: Start difference. First operand 125 states and 129 transitions. Second operand 15 states. [2018-11-23 12:16:09,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:09,523 INFO L93 Difference]: Finished difference Result 179 states and 184 transitions. [2018-11-23 12:16:09,523 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:16:09,523 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 214 [2018-11-23 12:16:09,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:09,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:16:09,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2018-11-23 12:16:09,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:16:09,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2018-11-23 12:16:09,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2018-11-23 12:16:09,588 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:09,591 INFO L225 Difference]: With dead ends: 179 [2018-11-23 12:16:09,591 INFO L226 Difference]: Without dead ends: 128 [2018-11-23 12:16:09,592 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 227 GetRequests, 214 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=105, Invalid=105, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:16:09,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-11-23 12:16:09,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 127. [2018-11-23 12:16:09,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:09,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 127 states. [2018-11-23 12:16:09,663 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 127 states. [2018-11-23 12:16:09,664 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 127 states. [2018-11-23 12:16:09,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:09,666 INFO L93 Difference]: Finished difference Result 128 states and 132 transitions. [2018-11-23 12:16:09,666 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 132 transitions. [2018-11-23 12:16:09,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:09,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:09,667 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 128 states. [2018-11-23 12:16:09,667 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 128 states. [2018-11-23 12:16:09,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:09,669 INFO L93 Difference]: Finished difference Result 128 states and 132 transitions. [2018-11-23 12:16:09,669 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 132 transitions. [2018-11-23 12:16:09,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:09,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:09,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:09,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:09,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 127 states. [2018-11-23 12:16:09,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 131 transitions. [2018-11-23 12:16:09,672 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 131 transitions. Word has length 214 [2018-11-23 12:16:09,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:09,673 INFO L480 AbstractCegarLoop]: Abstraction has 127 states and 131 transitions. [2018-11-23 12:16:09,673 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:16:09,673 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 131 transitions. [2018-11-23 12:16:09,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 217 [2018-11-23 12:16:09,674 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:09,674 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 12, 12, 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:16:09,674 INFO L423 AbstractCegarLoop]: === Iteration 40 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:09,675 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:09,675 INFO L82 PathProgramCache]: Analyzing trace with hash -1890689677, now seen corresponding path program 36 times [2018-11-23 12:16:09,675 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:09,675 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:09,675 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:09,676 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:09,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:09,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:11,071 INFO L256 TraceCheckUtils]: 0: Hoare triple {30701#true} call ULTIMATE.init(); {30701#true} is VALID [2018-11-23 12:16:11,071 INFO L273 TraceCheckUtils]: 1: Hoare triple {30701#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30701#true} is VALID [2018-11-23 12:16:11,071 INFO L273 TraceCheckUtils]: 2: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:11,072 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30701#true} {30701#true} #66#return; {30701#true} is VALID [2018-11-23 12:16:11,072 INFO L256 TraceCheckUtils]: 4: Hoare triple {30701#true} call #t~ret12 := main(); {30701#true} is VALID [2018-11-23 12:16:11,072 INFO L273 TraceCheckUtils]: 5: Hoare triple {30701#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {30701#true} is VALID [2018-11-23 12:16:11,072 INFO L273 TraceCheckUtils]: 6: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,072 INFO L273 TraceCheckUtils]: 7: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 8: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 9: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 10: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 11: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 12: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 13: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 14: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 15: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,073 INFO L273 TraceCheckUtils]: 16: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 17: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 18: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 19: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 20: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 21: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 22: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 23: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 24: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 25: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,074 INFO L273 TraceCheckUtils]: 26: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 27: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 28: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 29: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 30: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 31: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 32: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 33: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 34: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,075 INFO L273 TraceCheckUtils]: 35: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 36: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 37: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 38: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 39: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 40: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 41: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 42: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 43: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 44: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:11,076 INFO L273 TraceCheckUtils]: 45: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 46: Hoare triple {30701#true} assume !(~i~1 < 20); {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L256 TraceCheckUtils]: 47: Hoare triple {30701#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 48: Hoare triple {30701#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 49: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 50: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 51: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 52: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 53: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,077 INFO L273 TraceCheckUtils]: 54: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 55: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 56: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 57: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 58: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 59: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 60: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 61: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 62: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 63: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,078 INFO L273 TraceCheckUtils]: 64: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 65: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 66: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 67: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 68: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 69: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 70: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 71: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 72: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,079 INFO L273 TraceCheckUtils]: 73: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 74: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 75: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 76: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 77: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 78: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 79: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 80: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 81: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 82: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,080 INFO L273 TraceCheckUtils]: 83: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 84: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 85: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 86: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 87: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 88: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 89: Hoare triple {30701#true} assume !(~i~0 < 20); {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 90: Hoare triple {30701#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 91: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {30701#true} {30701#true} #70#return; {30701#true} is VALID [2018-11-23 12:16:11,081 INFO L273 TraceCheckUtils]: 93: Hoare triple {30701#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L256 TraceCheckUtils]: 94: Hoare triple {30701#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 95: Hoare triple {30701#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 96: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 97: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 98: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 99: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 100: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 101: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,082 INFO L273 TraceCheckUtils]: 102: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 103: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 104: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 105: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 106: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 107: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 108: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 109: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 110: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 111: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,083 INFO L273 TraceCheckUtils]: 112: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 113: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 114: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 115: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 116: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 117: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 118: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 119: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 120: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 121: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,084 INFO L273 TraceCheckUtils]: 122: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 123: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 124: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 125: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 126: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 127: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 128: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 129: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 130: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 131: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,085 INFO L273 TraceCheckUtils]: 132: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 133: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 134: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 135: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 136: Hoare triple {30701#true} assume !(~i~0 < 20); {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 137: Hoare triple {30701#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L273 TraceCheckUtils]: 138: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:11,086 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {30701#true} {30701#true} #72#return; {30701#true} is VALID [2018-11-23 12:16:11,087 INFO L273 TraceCheckUtils]: 140: Hoare triple {30701#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {30703#(= main_~i~2 0)} is VALID [2018-11-23 12:16:11,087 INFO L273 TraceCheckUtils]: 141: Hoare triple {30703#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30703#(= main_~i~2 0)} is VALID [2018-11-23 12:16:11,087 INFO L273 TraceCheckUtils]: 142: Hoare triple {30703#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30704#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:11,088 INFO L273 TraceCheckUtils]: 143: Hoare triple {30704#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30704#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:11,088 INFO L273 TraceCheckUtils]: 144: Hoare triple {30704#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30705#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:11,088 INFO L273 TraceCheckUtils]: 145: Hoare triple {30705#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30705#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:11,089 INFO L273 TraceCheckUtils]: 146: Hoare triple {30705#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30706#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:11,089 INFO L273 TraceCheckUtils]: 147: Hoare triple {30706#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30706#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:11,090 INFO L273 TraceCheckUtils]: 148: Hoare triple {30706#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30707#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:11,090 INFO L273 TraceCheckUtils]: 149: Hoare triple {30707#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30707#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:11,091 INFO L273 TraceCheckUtils]: 150: Hoare triple {30707#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30708#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:11,091 INFO L273 TraceCheckUtils]: 151: Hoare triple {30708#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30708#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:11,092 INFO L273 TraceCheckUtils]: 152: Hoare triple {30708#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30709#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:11,092 INFO L273 TraceCheckUtils]: 153: Hoare triple {30709#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30709#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:11,093 INFO L273 TraceCheckUtils]: 154: Hoare triple {30709#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30710#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:11,094 INFO L273 TraceCheckUtils]: 155: Hoare triple {30710#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30710#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:11,094 INFO L273 TraceCheckUtils]: 156: Hoare triple {30710#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30711#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:11,095 INFO L273 TraceCheckUtils]: 157: Hoare triple {30711#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30711#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:11,096 INFO L273 TraceCheckUtils]: 158: Hoare triple {30711#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30712#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:11,096 INFO L273 TraceCheckUtils]: 159: Hoare triple {30712#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30712#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:11,097 INFO L273 TraceCheckUtils]: 160: Hoare triple {30712#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30713#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:11,097 INFO L273 TraceCheckUtils]: 161: Hoare triple {30713#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30713#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:11,098 INFO L273 TraceCheckUtils]: 162: Hoare triple {30713#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30714#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:11,099 INFO L273 TraceCheckUtils]: 163: Hoare triple {30714#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30714#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:11,099 INFO L273 TraceCheckUtils]: 164: Hoare triple {30714#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30715#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:11,100 INFO L273 TraceCheckUtils]: 165: Hoare triple {30715#(<= main_~i~2 12)} assume !(~i~2 < 19); {30702#false} is VALID [2018-11-23 12:16:11,100 INFO L273 TraceCheckUtils]: 166: Hoare triple {30702#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {30702#false} is VALID [2018-11-23 12:16:11,100 INFO L256 TraceCheckUtils]: 167: Hoare triple {30702#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 168: Hoare triple {30701#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 169: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 170: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 171: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 172: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,101 INFO L273 TraceCheckUtils]: 173: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,102 INFO L273 TraceCheckUtils]: 174: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,102 INFO L273 TraceCheckUtils]: 175: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,102 INFO L273 TraceCheckUtils]: 176: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,102 INFO L273 TraceCheckUtils]: 177: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,102 INFO L273 TraceCheckUtils]: 178: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 179: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 180: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 181: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 182: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 183: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 184: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 185: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 186: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,103 INFO L273 TraceCheckUtils]: 187: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 188: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 189: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 190: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 191: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 192: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 193: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 194: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 195: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 196: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,104 INFO L273 TraceCheckUtils]: 197: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 198: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 199: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 200: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 201: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 202: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 203: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 204: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 205: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,105 INFO L273 TraceCheckUtils]: 206: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 207: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 208: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 209: Hoare triple {30701#true} assume !(~i~0 < 20); {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 210: Hoare triple {30701#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 211: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:11,106 INFO L268 TraceCheckUtils]: 212: Hoare quadruple {30701#true} {30702#false} #74#return; {30702#false} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 213: Hoare triple {30702#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {30702#false} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 214: Hoare triple {30702#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {30702#false} is VALID [2018-11-23 12:16:11,106 INFO L273 TraceCheckUtils]: 215: Hoare triple {30702#false} assume !false; {30702#false} is VALID [2018-11-23 12:16:11,123 INFO L134 CoverageAnalysis]: Checked inductivity of 4279 backedges. 0 proven. 144 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:11,123 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:11,123 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:11,134 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:16:11,952 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 27 check-sat command(s) [2018-11-23 12:16:11,952 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:11,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:11,995 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:12,435 INFO L256 TraceCheckUtils]: 0: Hoare triple {30701#true} call ULTIMATE.init(); {30701#true} is VALID [2018-11-23 12:16:12,435 INFO L273 TraceCheckUtils]: 1: Hoare triple {30701#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {30701#true} is VALID [2018-11-23 12:16:12,436 INFO L273 TraceCheckUtils]: 2: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:12,436 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30701#true} {30701#true} #66#return; {30701#true} is VALID [2018-11-23 12:16:12,436 INFO L256 TraceCheckUtils]: 4: Hoare triple {30701#true} call #t~ret12 := main(); {30701#true} is VALID [2018-11-23 12:16:12,436 INFO L273 TraceCheckUtils]: 5: Hoare triple {30701#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {30701#true} is VALID [2018-11-23 12:16:12,436 INFO L273 TraceCheckUtils]: 6: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 7: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 8: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 9: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 10: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 11: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 12: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,437 INFO L273 TraceCheckUtils]: 13: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 14: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 15: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 16: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 17: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 18: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 19: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 20: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 21: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,438 INFO L273 TraceCheckUtils]: 22: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 23: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 24: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 25: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 26: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 27: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 28: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 29: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 30: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 31: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,439 INFO L273 TraceCheckUtils]: 32: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 33: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 34: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 35: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 36: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 37: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 38: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 39: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 40: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 41: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,440 INFO L273 TraceCheckUtils]: 42: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 43: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 44: Hoare triple {30701#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 45: Hoare triple {30701#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 46: Hoare triple {30701#true} assume !(~i~1 < 20); {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L256 TraceCheckUtils]: 47: Hoare triple {30701#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 48: Hoare triple {30701#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 49: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 50: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 51: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,441 INFO L273 TraceCheckUtils]: 52: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 53: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 54: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 55: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 56: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 57: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 58: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 59: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 60: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,442 INFO L273 TraceCheckUtils]: 61: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 62: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 63: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 64: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 65: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 66: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 67: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 68: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 69: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 70: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,443 INFO L273 TraceCheckUtils]: 71: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 72: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 73: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 74: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 75: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 76: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 77: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 78: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 79: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 80: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,444 INFO L273 TraceCheckUtils]: 81: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 82: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 83: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 84: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 85: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 86: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 87: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 88: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 89: Hoare triple {30701#true} assume !(~i~0 < 20); {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 90: Hoare triple {30701#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30701#true} is VALID [2018-11-23 12:16:12,445 INFO L273 TraceCheckUtils]: 91: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {30701#true} {30701#true} #70#return; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 93: Hoare triple {30701#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L256 TraceCheckUtils]: 94: Hoare triple {30701#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 95: Hoare triple {30701#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 96: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 97: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 98: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 99: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,446 INFO L273 TraceCheckUtils]: 100: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 101: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 102: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 103: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 104: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 105: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 106: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 107: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 108: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 109: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,447 INFO L273 TraceCheckUtils]: 110: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 111: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 112: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 113: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 114: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 115: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 116: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 117: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 118: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 119: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,448 INFO L273 TraceCheckUtils]: 120: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 121: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 122: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 123: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 124: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 125: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 126: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 127: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 128: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 129: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,449 INFO L273 TraceCheckUtils]: 130: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 131: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 132: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 133: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 134: Hoare triple {30701#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 135: Hoare triple {30701#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 136: Hoare triple {30701#true} assume !(~i~0 < 20); {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 137: Hoare triple {30701#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L273 TraceCheckUtils]: 138: Hoare triple {30701#true} assume true; {30701#true} is VALID [2018-11-23 12:16:12,450 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {30701#true} {30701#true} #72#return; {30701#true} is VALID [2018-11-23 12:16:12,451 INFO L273 TraceCheckUtils]: 140: Hoare triple {30701#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {31139#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:12,451 INFO L273 TraceCheckUtils]: 141: Hoare triple {31139#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {31139#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:12,452 INFO L273 TraceCheckUtils]: 142: Hoare triple {31139#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30704#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:12,452 INFO L273 TraceCheckUtils]: 143: Hoare triple {30704#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30704#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:12,453 INFO L273 TraceCheckUtils]: 144: Hoare triple {30704#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30705#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:12,453 INFO L273 TraceCheckUtils]: 145: Hoare triple {30705#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30705#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:12,453 INFO L273 TraceCheckUtils]: 146: Hoare triple {30705#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30706#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:12,454 INFO L273 TraceCheckUtils]: 147: Hoare triple {30706#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30706#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:12,454 INFO L273 TraceCheckUtils]: 148: Hoare triple {30706#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30707#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:12,454 INFO L273 TraceCheckUtils]: 149: Hoare triple {30707#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30707#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:12,455 INFO L273 TraceCheckUtils]: 150: Hoare triple {30707#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30708#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:12,455 INFO L273 TraceCheckUtils]: 151: Hoare triple {30708#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30708#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:12,456 INFO L273 TraceCheckUtils]: 152: Hoare triple {30708#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30709#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:12,457 INFO L273 TraceCheckUtils]: 153: Hoare triple {30709#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30709#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:12,457 INFO L273 TraceCheckUtils]: 154: Hoare triple {30709#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30710#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:12,458 INFO L273 TraceCheckUtils]: 155: Hoare triple {30710#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30710#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:12,459 INFO L273 TraceCheckUtils]: 156: Hoare triple {30710#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30711#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:12,459 INFO L273 TraceCheckUtils]: 157: Hoare triple {30711#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30711#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:12,460 INFO L273 TraceCheckUtils]: 158: Hoare triple {30711#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30712#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:12,460 INFO L273 TraceCheckUtils]: 159: Hoare triple {30712#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30712#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:12,461 INFO L273 TraceCheckUtils]: 160: Hoare triple {30712#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30713#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:12,461 INFO L273 TraceCheckUtils]: 161: Hoare triple {30713#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30713#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:12,462 INFO L273 TraceCheckUtils]: 162: Hoare triple {30713#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30714#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:12,463 INFO L273 TraceCheckUtils]: 163: Hoare triple {30714#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {30714#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:12,463 INFO L273 TraceCheckUtils]: 164: Hoare triple {30714#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {30715#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:12,464 INFO L273 TraceCheckUtils]: 165: Hoare triple {30715#(<= main_~i~2 12)} assume !(~i~2 < 19); {30702#false} is VALID [2018-11-23 12:16:12,464 INFO L273 TraceCheckUtils]: 166: Hoare triple {30702#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {30702#false} is VALID [2018-11-23 12:16:12,464 INFO L256 TraceCheckUtils]: 167: Hoare triple {30702#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {30702#false} is VALID [2018-11-23 12:16:12,465 INFO L273 TraceCheckUtils]: 168: Hoare triple {30702#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {30702#false} is VALID [2018-11-23 12:16:12,465 INFO L273 TraceCheckUtils]: 169: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,465 INFO L273 TraceCheckUtils]: 170: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,465 INFO L273 TraceCheckUtils]: 171: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,465 INFO L273 TraceCheckUtils]: 172: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 173: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 174: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 175: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 176: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 177: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,466 INFO L273 TraceCheckUtils]: 178: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 179: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 180: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 181: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 182: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 183: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 184: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 185: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 186: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 187: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,467 INFO L273 TraceCheckUtils]: 188: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 189: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 190: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 191: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 192: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 193: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 194: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 195: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 196: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 197: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,468 INFO L273 TraceCheckUtils]: 198: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 199: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 200: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 201: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 202: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 203: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 204: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 205: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 206: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 207: Hoare triple {30702#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {30702#false} is VALID [2018-11-23 12:16:12,469 INFO L273 TraceCheckUtils]: 208: Hoare triple {30702#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 209: Hoare triple {30702#false} assume !(~i~0 < 20); {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 210: Hoare triple {30702#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 211: Hoare triple {30702#false} assume true; {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L268 TraceCheckUtils]: 212: Hoare quadruple {30702#false} {30702#false} #74#return; {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 213: Hoare triple {30702#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 214: Hoare triple {30702#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {30702#false} is VALID [2018-11-23 12:16:12,470 INFO L273 TraceCheckUtils]: 215: Hoare triple {30702#false} assume !false; {30702#false} is VALID [2018-11-23 12:16:12,487 INFO L134 CoverageAnalysis]: Checked inductivity of 4279 backedges. 1690 proven. 144 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:16:12,517 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:12,518 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 16 [2018-11-23 12:16:12,518 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 216 [2018-11-23 12:16:12,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:12,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:16:12,653 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:12,653 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:16:12,653 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:16:12,654 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:16:12,654 INFO L87 Difference]: Start difference. First operand 127 states and 131 transitions. Second operand 16 states. [2018-11-23 12:16:13,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:13,084 INFO L93 Difference]: Finished difference Result 181 states and 186 transitions. [2018-11-23 12:16:13,084 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:16:13,084 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 216 [2018-11-23 12:16:13,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:13,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:16:13,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 69 transitions. [2018-11-23 12:16:13,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:16:13,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 69 transitions. [2018-11-23 12:16:13,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 69 transitions. [2018-11-23 12:16:13,148 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:13,151 INFO L225 Difference]: With dead ends: 181 [2018-11-23 12:16:13,151 INFO L226 Difference]: Without dead ends: 130 [2018-11-23 12:16:13,152 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 230 GetRequests, 216 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=120, Invalid=120, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:16:13,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-11-23 12:16:13,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 129. [2018-11-23 12:16:13,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:13,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 129 states. [2018-11-23 12:16:13,198 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 129 states. [2018-11-23 12:16:13,198 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 129 states. [2018-11-23 12:16:13,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:13,201 INFO L93 Difference]: Finished difference Result 130 states and 134 transitions. [2018-11-23 12:16:13,201 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 134 transitions. [2018-11-23 12:16:13,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:13,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:13,202 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 130 states. [2018-11-23 12:16:13,202 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 130 states. [2018-11-23 12:16:13,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:13,204 INFO L93 Difference]: Finished difference Result 130 states and 134 transitions. [2018-11-23 12:16:13,204 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 134 transitions. [2018-11-23 12:16:13,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:13,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:13,205 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:13,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:13,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 129 states. [2018-11-23 12:16:13,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 133 transitions. [2018-11-23 12:16:13,207 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 133 transitions. Word has length 216 [2018-11-23 12:16:13,207 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:13,207 INFO L480 AbstractCegarLoop]: Abstraction has 129 states and 133 transitions. [2018-11-23 12:16:13,208 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:16:13,208 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 133 transitions. [2018-11-23 12:16:13,209 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 219 [2018-11-23 12:16:13,209 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:13,209 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 13, 13, 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:16:13,209 INFO L423 AbstractCegarLoop]: === Iteration 41 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:13,209 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:13,210 INFO L82 PathProgramCache]: Analyzing trace with hash -847004943, now seen corresponding path program 37 times [2018-11-23 12:16:13,210 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:13,210 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:13,210 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:13,210 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:13,211 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:13,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:13,829 INFO L256 TraceCheckUtils]: 0: Hoare triple {32085#true} call ULTIMATE.init(); {32085#true} is VALID [2018-11-23 12:16:13,830 INFO L273 TraceCheckUtils]: 1: Hoare triple {32085#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32085#true} is VALID [2018-11-23 12:16:13,830 INFO L273 TraceCheckUtils]: 2: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:13,830 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32085#true} {32085#true} #66#return; {32085#true} is VALID [2018-11-23 12:16:13,830 INFO L256 TraceCheckUtils]: 4: Hoare triple {32085#true} call #t~ret12 := main(); {32085#true} is VALID [2018-11-23 12:16:13,830 INFO L273 TraceCheckUtils]: 5: Hoare triple {32085#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 6: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 7: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 8: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 9: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 10: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 11: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,831 INFO L273 TraceCheckUtils]: 12: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 13: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 14: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 15: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 16: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 17: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 18: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 19: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 20: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 21: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,832 INFO L273 TraceCheckUtils]: 22: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 23: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 24: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 25: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 26: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 27: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 28: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 29: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 30: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,833 INFO L273 TraceCheckUtils]: 31: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 32: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 33: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 34: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 35: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 36: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 37: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 38: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 39: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 40: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,834 INFO L273 TraceCheckUtils]: 41: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 42: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 43: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 44: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 45: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 46: Hoare triple {32085#true} assume !(~i~1 < 20); {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L256 TraceCheckUtils]: 47: Hoare triple {32085#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 48: Hoare triple {32085#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 49: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 50: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,835 INFO L273 TraceCheckUtils]: 51: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 52: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 53: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 54: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 55: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 56: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 57: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 58: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 59: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,836 INFO L273 TraceCheckUtils]: 60: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 61: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 62: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 63: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 64: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 65: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 66: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 67: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 68: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 69: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,837 INFO L273 TraceCheckUtils]: 70: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 71: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 72: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 73: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 74: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 75: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 76: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 77: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 78: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 79: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,838 INFO L273 TraceCheckUtils]: 80: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 81: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 82: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 83: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 84: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 85: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 86: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 87: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 88: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 89: Hoare triple {32085#true} assume !(~i~0 < 20); {32085#true} is VALID [2018-11-23 12:16:13,839 INFO L273 TraceCheckUtils]: 90: Hoare triple {32085#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 91: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {32085#true} {32085#true} #70#return; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 93: Hoare triple {32085#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L256 TraceCheckUtils]: 94: Hoare triple {32085#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 95: Hoare triple {32085#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 96: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 97: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 98: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,840 INFO L273 TraceCheckUtils]: 99: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 100: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 101: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 102: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 103: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 104: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 105: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 106: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 107: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 108: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,841 INFO L273 TraceCheckUtils]: 109: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 110: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 111: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 112: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 113: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 114: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 115: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 116: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 117: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 118: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,842 INFO L273 TraceCheckUtils]: 119: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 120: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 121: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 122: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 123: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 124: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 125: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 126: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 127: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 128: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,843 INFO L273 TraceCheckUtils]: 129: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 130: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 131: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 132: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 133: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 134: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 135: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 136: Hoare triple {32085#true} assume !(~i~0 < 20); {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 137: Hoare triple {32085#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L273 TraceCheckUtils]: 138: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:13,844 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {32085#true} {32085#true} #72#return; {32085#true} is VALID [2018-11-23 12:16:13,845 INFO L273 TraceCheckUtils]: 140: Hoare triple {32085#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {32087#(= main_~i~2 0)} is VALID [2018-11-23 12:16:13,845 INFO L273 TraceCheckUtils]: 141: Hoare triple {32087#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32087#(= main_~i~2 0)} is VALID [2018-11-23 12:16:13,846 INFO L273 TraceCheckUtils]: 142: Hoare triple {32087#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32088#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:13,846 INFO L273 TraceCheckUtils]: 143: Hoare triple {32088#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32088#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:13,846 INFO L273 TraceCheckUtils]: 144: Hoare triple {32088#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32089#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:13,847 INFO L273 TraceCheckUtils]: 145: Hoare triple {32089#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32089#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:13,847 INFO L273 TraceCheckUtils]: 146: Hoare triple {32089#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32090#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:13,847 INFO L273 TraceCheckUtils]: 147: Hoare triple {32090#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32090#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:13,848 INFO L273 TraceCheckUtils]: 148: Hoare triple {32090#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32091#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:13,848 INFO L273 TraceCheckUtils]: 149: Hoare triple {32091#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32091#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:13,849 INFO L273 TraceCheckUtils]: 150: Hoare triple {32091#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32092#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:13,849 INFO L273 TraceCheckUtils]: 151: Hoare triple {32092#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32092#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:13,850 INFO L273 TraceCheckUtils]: 152: Hoare triple {32092#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32093#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:13,851 INFO L273 TraceCheckUtils]: 153: Hoare triple {32093#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32093#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:13,851 INFO L273 TraceCheckUtils]: 154: Hoare triple {32093#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32094#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:13,852 INFO L273 TraceCheckUtils]: 155: Hoare triple {32094#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32094#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:13,852 INFO L273 TraceCheckUtils]: 156: Hoare triple {32094#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32095#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:13,853 INFO L273 TraceCheckUtils]: 157: Hoare triple {32095#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32095#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:13,854 INFO L273 TraceCheckUtils]: 158: Hoare triple {32095#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32096#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:13,854 INFO L273 TraceCheckUtils]: 159: Hoare triple {32096#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32096#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:13,855 INFO L273 TraceCheckUtils]: 160: Hoare triple {32096#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32097#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:13,855 INFO L273 TraceCheckUtils]: 161: Hoare triple {32097#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32097#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:13,856 INFO L273 TraceCheckUtils]: 162: Hoare triple {32097#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32098#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:13,857 INFO L273 TraceCheckUtils]: 163: Hoare triple {32098#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32098#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:13,857 INFO L273 TraceCheckUtils]: 164: Hoare triple {32098#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32099#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:13,858 INFO L273 TraceCheckUtils]: 165: Hoare triple {32099#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32099#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:13,859 INFO L273 TraceCheckUtils]: 166: Hoare triple {32099#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32100#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:13,859 INFO L273 TraceCheckUtils]: 167: Hoare triple {32100#(<= main_~i~2 13)} assume !(~i~2 < 19); {32086#false} is VALID [2018-11-23 12:16:13,860 INFO L273 TraceCheckUtils]: 168: Hoare triple {32086#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {32086#false} is VALID [2018-11-23 12:16:13,860 INFO L256 TraceCheckUtils]: 169: Hoare triple {32086#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {32085#true} is VALID [2018-11-23 12:16:13,860 INFO L273 TraceCheckUtils]: 170: Hoare triple {32085#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32085#true} is VALID [2018-11-23 12:16:13,860 INFO L273 TraceCheckUtils]: 171: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,860 INFO L273 TraceCheckUtils]: 172: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,860 INFO L273 TraceCheckUtils]: 173: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 174: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 175: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 176: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 177: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 178: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,861 INFO L273 TraceCheckUtils]: 179: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 180: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 181: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 182: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 183: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 184: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 185: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,862 INFO L273 TraceCheckUtils]: 186: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 187: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 188: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 189: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 190: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 191: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 192: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 193: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 194: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 195: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,863 INFO L273 TraceCheckUtils]: 196: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 197: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 198: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 199: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 200: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 201: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 202: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 203: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 204: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,864 INFO L273 TraceCheckUtils]: 205: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 206: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 207: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 208: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 209: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 210: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 211: Hoare triple {32085#true} assume !(~i~0 < 20); {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 212: Hoare triple {32085#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 213: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:13,865 INFO L268 TraceCheckUtils]: 214: Hoare quadruple {32085#true} {32086#false} #74#return; {32086#false} is VALID [2018-11-23 12:16:13,865 INFO L273 TraceCheckUtils]: 215: Hoare triple {32086#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {32086#false} is VALID [2018-11-23 12:16:13,866 INFO L273 TraceCheckUtils]: 216: Hoare triple {32086#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32086#false} is VALID [2018-11-23 12:16:13,866 INFO L273 TraceCheckUtils]: 217: Hoare triple {32086#false} assume !false; {32086#false} is VALID [2018-11-23 12:16:13,882 INFO L134 CoverageAnalysis]: Checked inductivity of 4304 backedges. 0 proven. 169 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:13,883 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:13,883 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:13,895 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:13,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:14,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:14,031 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:14,836 INFO L256 TraceCheckUtils]: 0: Hoare triple {32085#true} call ULTIMATE.init(); {32085#true} is VALID [2018-11-23 12:16:14,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {32085#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {32085#true} is VALID [2018-11-23 12:16:14,836 INFO L273 TraceCheckUtils]: 2: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:14,836 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {32085#true} {32085#true} #66#return; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L256 TraceCheckUtils]: 4: Hoare triple {32085#true} call #t~ret12 := main(); {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 5: Hoare triple {32085#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 6: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 7: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 8: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 9: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,837 INFO L273 TraceCheckUtils]: 10: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 11: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 12: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 13: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 14: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 15: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,838 INFO L273 TraceCheckUtils]: 16: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 17: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 18: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 19: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 20: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 21: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,839 INFO L273 TraceCheckUtils]: 22: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 23: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 24: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 25: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 26: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 27: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,840 INFO L273 TraceCheckUtils]: 28: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 29: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 30: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 31: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 32: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 33: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,841 INFO L273 TraceCheckUtils]: 34: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 35: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 36: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 37: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 38: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 39: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 40: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,842 INFO L273 TraceCheckUtils]: 41: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L273 TraceCheckUtils]: 42: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L273 TraceCheckUtils]: 43: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L273 TraceCheckUtils]: 44: Hoare triple {32085#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L273 TraceCheckUtils]: 45: Hoare triple {32085#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L273 TraceCheckUtils]: 46: Hoare triple {32085#true} assume !(~i~1 < 20); {32085#true} is VALID [2018-11-23 12:16:14,843 INFO L256 TraceCheckUtils]: 47: Hoare triple {32085#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 48: Hoare triple {32085#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 49: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 50: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 51: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 52: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,844 INFO L273 TraceCheckUtils]: 53: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 54: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 55: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 56: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 57: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 58: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,845 INFO L273 TraceCheckUtils]: 59: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 60: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 61: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 62: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 63: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 64: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,846 INFO L273 TraceCheckUtils]: 65: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 66: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 67: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 68: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 69: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 70: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,847 INFO L273 TraceCheckUtils]: 71: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 72: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 73: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 74: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 75: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 76: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 77: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,848 INFO L273 TraceCheckUtils]: 78: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 79: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 80: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 81: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 82: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 83: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,849 INFO L273 TraceCheckUtils]: 84: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 85: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 86: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 87: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 88: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 89: Hoare triple {32085#true} assume !(~i~0 < 20); {32085#true} is VALID [2018-11-23 12:16:14,850 INFO L273 TraceCheckUtils]: 90: Hoare triple {32085#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L273 TraceCheckUtils]: 91: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {32085#true} {32085#true} #70#return; {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L273 TraceCheckUtils]: 93: Hoare triple {32085#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L256 TraceCheckUtils]: 94: Hoare triple {32085#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L273 TraceCheckUtils]: 95: Hoare triple {32085#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32085#true} is VALID [2018-11-23 12:16:14,851 INFO L273 TraceCheckUtils]: 96: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 97: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 98: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 99: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 100: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 101: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,852 INFO L273 TraceCheckUtils]: 102: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 103: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 104: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 105: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 106: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 107: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,853 INFO L273 TraceCheckUtils]: 108: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 109: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 110: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 111: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 112: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 113: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,854 INFO L273 TraceCheckUtils]: 114: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 115: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 116: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 117: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 118: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 119: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,855 INFO L273 TraceCheckUtils]: 120: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 121: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 122: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 123: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 124: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 125: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 126: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,856 INFO L273 TraceCheckUtils]: 127: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 128: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 129: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 130: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 131: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 132: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,857 INFO L273 TraceCheckUtils]: 133: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L273 TraceCheckUtils]: 134: Hoare triple {32085#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L273 TraceCheckUtils]: 135: Hoare triple {32085#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L273 TraceCheckUtils]: 136: Hoare triple {32085#true} assume !(~i~0 < 20); {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L273 TraceCheckUtils]: 137: Hoare triple {32085#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L273 TraceCheckUtils]: 138: Hoare triple {32085#true} assume true; {32085#true} is VALID [2018-11-23 12:16:14,858 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {32085#true} {32085#true} #72#return; {32085#true} is VALID [2018-11-23 12:16:14,868 INFO L273 TraceCheckUtils]: 140: Hoare triple {32085#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {32524#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:14,876 INFO L273 TraceCheckUtils]: 141: Hoare triple {32524#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32524#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:14,889 INFO L273 TraceCheckUtils]: 142: Hoare triple {32524#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32088#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:14,901 INFO L273 TraceCheckUtils]: 143: Hoare triple {32088#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32088#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:14,914 INFO L273 TraceCheckUtils]: 144: Hoare triple {32088#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32089#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:14,932 INFO L273 TraceCheckUtils]: 145: Hoare triple {32089#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32089#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:14,941 INFO L273 TraceCheckUtils]: 146: Hoare triple {32089#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32090#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:14,953 INFO L273 TraceCheckUtils]: 147: Hoare triple {32090#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32090#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:14,968 INFO L273 TraceCheckUtils]: 148: Hoare triple {32090#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32091#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:14,976 INFO L273 TraceCheckUtils]: 149: Hoare triple {32091#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32091#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:14,991 INFO L273 TraceCheckUtils]: 150: Hoare triple {32091#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32092#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:15,000 INFO L273 TraceCheckUtils]: 151: Hoare triple {32092#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32092#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:15,014 INFO L273 TraceCheckUtils]: 152: Hoare triple {32092#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32093#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:15,022 INFO L273 TraceCheckUtils]: 153: Hoare triple {32093#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32093#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:15,037 INFO L273 TraceCheckUtils]: 154: Hoare triple {32093#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32094#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:15,040 INFO L273 TraceCheckUtils]: 155: Hoare triple {32094#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32094#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:15,040 INFO L273 TraceCheckUtils]: 156: Hoare triple {32094#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32095#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:15,043 INFO L273 TraceCheckUtils]: 157: Hoare triple {32095#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32095#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:15,043 INFO L273 TraceCheckUtils]: 158: Hoare triple {32095#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32096#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:15,046 INFO L273 TraceCheckUtils]: 159: Hoare triple {32096#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32096#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:15,046 INFO L273 TraceCheckUtils]: 160: Hoare triple {32096#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32097#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:15,049 INFO L273 TraceCheckUtils]: 161: Hoare triple {32097#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32097#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:15,049 INFO L273 TraceCheckUtils]: 162: Hoare triple {32097#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32098#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:15,049 INFO L273 TraceCheckUtils]: 163: Hoare triple {32098#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32098#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:15,050 INFO L273 TraceCheckUtils]: 164: Hoare triple {32098#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32099#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:15,050 INFO L273 TraceCheckUtils]: 165: Hoare triple {32099#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {32099#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:15,051 INFO L273 TraceCheckUtils]: 166: Hoare triple {32099#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {32100#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:15,051 INFO L273 TraceCheckUtils]: 167: Hoare triple {32100#(<= main_~i~2 13)} assume !(~i~2 < 19); {32086#false} is VALID [2018-11-23 12:16:15,051 INFO L273 TraceCheckUtils]: 168: Hoare triple {32086#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {32086#false} is VALID [2018-11-23 12:16:15,051 INFO L256 TraceCheckUtils]: 169: Hoare triple {32086#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {32086#false} is VALID [2018-11-23 12:16:15,051 INFO L273 TraceCheckUtils]: 170: Hoare triple {32086#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {32086#false} is VALID [2018-11-23 12:16:15,051 INFO L273 TraceCheckUtils]: 171: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 172: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 173: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 174: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 175: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 176: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,052 INFO L273 TraceCheckUtils]: 177: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 178: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 179: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 180: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 181: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 182: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,053 INFO L273 TraceCheckUtils]: 183: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 184: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 185: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 186: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 187: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 188: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 189: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,054 INFO L273 TraceCheckUtils]: 190: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 191: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 192: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 193: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 194: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 195: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 196: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 197: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 198: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 199: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,055 INFO L273 TraceCheckUtils]: 200: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 201: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 202: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 203: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 204: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 205: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 206: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 207: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 208: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,056 INFO L273 TraceCheckUtils]: 209: Hoare triple {32086#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 210: Hoare triple {32086#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 211: Hoare triple {32086#false} assume !(~i~0 < 20); {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 212: Hoare triple {32086#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 213: Hoare triple {32086#false} assume true; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L268 TraceCheckUtils]: 214: Hoare quadruple {32086#false} {32086#false} #74#return; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 215: Hoare triple {32086#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 216: Hoare triple {32086#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {32086#false} is VALID [2018-11-23 12:16:15,057 INFO L273 TraceCheckUtils]: 217: Hoare triple {32086#false} assume !false; {32086#false} is VALID [2018-11-23 12:16:15,074 INFO L134 CoverageAnalysis]: Checked inductivity of 4304 backedges. 1690 proven. 169 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:16:15,093 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:15,093 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 17 [2018-11-23 12:16:15,094 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 218 [2018-11-23 12:16:15,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:15,094 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:16:15,153 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:15,153 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:16:15,153 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:16:15,154 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:16:15,154 INFO L87 Difference]: Start difference. First operand 129 states and 133 transitions. Second operand 17 states. [2018-11-23 12:16:15,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:15,399 INFO L93 Difference]: Finished difference Result 183 states and 188 transitions. [2018-11-23 12:16:15,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:16:15,399 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 218 [2018-11-23 12:16:15,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:15,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:16:15,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2018-11-23 12:16:15,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:16:15,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2018-11-23 12:16:15,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2018-11-23 12:16:15,465 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:15,468 INFO L225 Difference]: With dead ends: 183 [2018-11-23 12:16:15,468 INFO L226 Difference]: Without dead ends: 132 [2018-11-23 12:16:15,468 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 233 GetRequests, 218 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=136, Invalid=136, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:16:15,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2018-11-23 12:16:15,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 131. [2018-11-23 12:16:15,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:15,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 131 states. [2018-11-23 12:16:15,516 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 131 states. [2018-11-23 12:16:15,516 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 131 states. [2018-11-23 12:16:15,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:15,518 INFO L93 Difference]: Finished difference Result 132 states and 136 transitions. [2018-11-23 12:16:15,518 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 136 transitions. [2018-11-23 12:16:15,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:15,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:15,519 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 132 states. [2018-11-23 12:16:15,519 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 132 states. [2018-11-23 12:16:15,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:15,521 INFO L93 Difference]: Finished difference Result 132 states and 136 transitions. [2018-11-23 12:16:15,521 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 136 transitions. [2018-11-23 12:16:15,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:15,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:15,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:15,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:15,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2018-11-23 12:16:15,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 135 transitions. [2018-11-23 12:16:15,524 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 135 transitions. Word has length 218 [2018-11-23 12:16:15,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:15,525 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 135 transitions. [2018-11-23 12:16:15,525 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:16:15,525 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 135 transitions. [2018-11-23 12:16:15,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 221 [2018-11-23 12:16:15,526 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:15,526 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 14, 14, 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:16:15,526 INFO L423 AbstractCegarLoop]: === Iteration 42 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:15,527 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:15,527 INFO L82 PathProgramCache]: Analyzing trace with hash 1406644463, now seen corresponding path program 38 times [2018-11-23 12:16:15,527 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:15,527 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:15,528 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:15,528 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:15,528 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:15,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:15,908 INFO L256 TraceCheckUtils]: 0: Hoare triple {33486#true} call ULTIMATE.init(); {33486#true} is VALID [2018-11-23 12:16:15,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {33486#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {33486#true} is VALID [2018-11-23 12:16:15,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:15,909 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {33486#true} {33486#true} #66#return; {33486#true} is VALID [2018-11-23 12:16:15,909 INFO L256 TraceCheckUtils]: 4: Hoare triple {33486#true} call #t~ret12 := main(); {33486#true} is VALID [2018-11-23 12:16:15,909 INFO L273 TraceCheckUtils]: 5: Hoare triple {33486#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 7: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 9: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 10: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,910 INFO L273 TraceCheckUtils]: 11: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 12: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 13: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 14: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 15: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 16: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 17: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 18: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,911 INFO L273 TraceCheckUtils]: 19: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 20: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 21: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 22: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 23: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 24: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 25: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 26: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 27: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,912 INFO L273 TraceCheckUtils]: 28: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 29: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 30: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 31: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 32: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 33: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 34: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 35: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 36: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 37: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,913 INFO L273 TraceCheckUtils]: 38: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 39: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 40: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 41: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 42: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 43: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 44: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 45: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 46: Hoare triple {33486#true} assume !(~i~1 < 20); {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L256 TraceCheckUtils]: 47: Hoare triple {33486#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {33486#true} is VALID [2018-11-23 12:16:15,914 INFO L273 TraceCheckUtils]: 48: Hoare triple {33486#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 49: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 50: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 51: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 52: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 53: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 54: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 55: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 56: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,915 INFO L273 TraceCheckUtils]: 57: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 58: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 59: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 60: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 61: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 62: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 63: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 64: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 65: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 66: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,916 INFO L273 TraceCheckUtils]: 67: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 68: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 69: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 70: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 71: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 72: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 73: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 74: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 75: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 76: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,917 INFO L273 TraceCheckUtils]: 77: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 78: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 79: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 80: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 81: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 82: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 83: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 84: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 85: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 86: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,918 INFO L273 TraceCheckUtils]: 87: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 88: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 89: Hoare triple {33486#true} assume !(~i~0 < 20); {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 90: Hoare triple {33486#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 91: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {33486#true} {33486#true} #70#return; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 93: Hoare triple {33486#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L256 TraceCheckUtils]: 94: Hoare triple {33486#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 95: Hoare triple {33486#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 96: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,919 INFO L273 TraceCheckUtils]: 97: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 98: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 99: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 100: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 101: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 102: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 103: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 104: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 105: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,920 INFO L273 TraceCheckUtils]: 106: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 107: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 108: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 109: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 110: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 111: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 112: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 113: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 114: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 115: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,921 INFO L273 TraceCheckUtils]: 116: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 117: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 118: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 119: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 120: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 121: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 122: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 123: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 124: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 125: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,922 INFO L273 TraceCheckUtils]: 126: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 127: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 128: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 129: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 130: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 131: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 132: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 133: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 134: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 135: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,923 INFO L273 TraceCheckUtils]: 136: Hoare triple {33486#true} assume !(~i~0 < 20); {33486#true} is VALID [2018-11-23 12:16:15,924 INFO L273 TraceCheckUtils]: 137: Hoare triple {33486#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33486#true} is VALID [2018-11-23 12:16:15,924 INFO L273 TraceCheckUtils]: 138: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:15,924 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {33486#true} {33486#true} #72#return; {33486#true} is VALID [2018-11-23 12:16:15,924 INFO L273 TraceCheckUtils]: 140: Hoare triple {33486#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {33488#(= main_~i~2 0)} is VALID [2018-11-23 12:16:15,925 INFO L273 TraceCheckUtils]: 141: Hoare triple {33488#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33488#(= main_~i~2 0)} is VALID [2018-11-23 12:16:15,925 INFO L273 TraceCheckUtils]: 142: Hoare triple {33488#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33489#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:15,925 INFO L273 TraceCheckUtils]: 143: Hoare triple {33489#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33489#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:15,926 INFO L273 TraceCheckUtils]: 144: Hoare triple {33489#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33490#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:15,926 INFO L273 TraceCheckUtils]: 145: Hoare triple {33490#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33490#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:15,926 INFO L273 TraceCheckUtils]: 146: Hoare triple {33490#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33491#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:15,927 INFO L273 TraceCheckUtils]: 147: Hoare triple {33491#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33491#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:15,927 INFO L273 TraceCheckUtils]: 148: Hoare triple {33491#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33492#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:15,928 INFO L273 TraceCheckUtils]: 149: Hoare triple {33492#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33492#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:15,929 INFO L273 TraceCheckUtils]: 150: Hoare triple {33492#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33493#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:15,929 INFO L273 TraceCheckUtils]: 151: Hoare triple {33493#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33493#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:15,930 INFO L273 TraceCheckUtils]: 152: Hoare triple {33493#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33494#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:15,930 INFO L273 TraceCheckUtils]: 153: Hoare triple {33494#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33494#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:15,931 INFO L273 TraceCheckUtils]: 154: Hoare triple {33494#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33495#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:15,932 INFO L273 TraceCheckUtils]: 155: Hoare triple {33495#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33495#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:15,932 INFO L273 TraceCheckUtils]: 156: Hoare triple {33495#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33496#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:15,933 INFO L273 TraceCheckUtils]: 157: Hoare triple {33496#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33496#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:15,934 INFO L273 TraceCheckUtils]: 158: Hoare triple {33496#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33497#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:15,934 INFO L273 TraceCheckUtils]: 159: Hoare triple {33497#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33497#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:15,935 INFO L273 TraceCheckUtils]: 160: Hoare triple {33497#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33498#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:15,935 INFO L273 TraceCheckUtils]: 161: Hoare triple {33498#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33498#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:15,936 INFO L273 TraceCheckUtils]: 162: Hoare triple {33498#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33499#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:15,937 INFO L273 TraceCheckUtils]: 163: Hoare triple {33499#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33499#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:15,937 INFO L273 TraceCheckUtils]: 164: Hoare triple {33499#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33500#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:15,938 INFO L273 TraceCheckUtils]: 165: Hoare triple {33500#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33500#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:15,939 INFO L273 TraceCheckUtils]: 166: Hoare triple {33500#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33501#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:15,939 INFO L273 TraceCheckUtils]: 167: Hoare triple {33501#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33501#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:15,940 INFO L273 TraceCheckUtils]: 168: Hoare triple {33501#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33502#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:15,940 INFO L273 TraceCheckUtils]: 169: Hoare triple {33502#(<= main_~i~2 14)} assume !(~i~2 < 19); {33487#false} is VALID [2018-11-23 12:16:15,941 INFO L273 TraceCheckUtils]: 170: Hoare triple {33487#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {33487#false} is VALID [2018-11-23 12:16:15,941 INFO L256 TraceCheckUtils]: 171: Hoare triple {33487#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {33486#true} is VALID [2018-11-23 12:16:15,941 INFO L273 TraceCheckUtils]: 172: Hoare triple {33486#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33486#true} is VALID [2018-11-23 12:16:15,941 INFO L273 TraceCheckUtils]: 173: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,941 INFO L273 TraceCheckUtils]: 174: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 175: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 176: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 177: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 178: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 179: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 180: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 181: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,942 INFO L273 TraceCheckUtils]: 182: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 183: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 184: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 185: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 186: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 187: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 188: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 189: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 190: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 191: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,943 INFO L273 TraceCheckUtils]: 192: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 193: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 194: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 195: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 196: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 197: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 198: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 199: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 200: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 201: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,944 INFO L273 TraceCheckUtils]: 202: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 203: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 204: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 205: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 206: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 207: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 208: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 209: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 210: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 211: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:15,945 INFO L273 TraceCheckUtils]: 212: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 213: Hoare triple {33486#true} assume !(~i~0 < 20); {33486#true} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 214: Hoare triple {33486#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33486#true} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 215: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:15,946 INFO L268 TraceCheckUtils]: 216: Hoare quadruple {33486#true} {33487#false} #74#return; {33487#false} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 217: Hoare triple {33487#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {33487#false} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 218: Hoare triple {33487#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {33487#false} is VALID [2018-11-23 12:16:15,946 INFO L273 TraceCheckUtils]: 219: Hoare triple {33487#false} assume !false; {33487#false} is VALID [2018-11-23 12:16:15,963 INFO L134 CoverageAnalysis]: Checked inductivity of 4331 backedges. 0 proven. 196 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:15,963 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:15,963 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:15,972 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:16,073 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:16,073 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:16,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:16,120 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:16,712 INFO L256 TraceCheckUtils]: 0: Hoare triple {33486#true} call ULTIMATE.init(); {33486#true} is VALID [2018-11-23 12:16:16,712 INFO L273 TraceCheckUtils]: 1: Hoare triple {33486#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {33486#true} is VALID [2018-11-23 12:16:16,712 INFO L273 TraceCheckUtils]: 2: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:16,712 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {33486#true} {33486#true} #66#return; {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L256 TraceCheckUtils]: 4: Hoare triple {33486#true} call #t~ret12 := main(); {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L273 TraceCheckUtils]: 5: Hoare triple {33486#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L273 TraceCheckUtils]: 6: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L273 TraceCheckUtils]: 7: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L273 TraceCheckUtils]: 8: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,713 INFO L273 TraceCheckUtils]: 9: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 10: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 11: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 12: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 13: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 14: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,714 INFO L273 TraceCheckUtils]: 15: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 16: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 17: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 18: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 19: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 20: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 21: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 22: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 23: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,715 INFO L273 TraceCheckUtils]: 24: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 25: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 26: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 27: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 28: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 29: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 30: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 31: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 32: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 33: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,716 INFO L273 TraceCheckUtils]: 34: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 35: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 36: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 37: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 38: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 39: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 40: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 41: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 42: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 43: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,717 INFO L273 TraceCheckUtils]: 44: Hoare triple {33486#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 45: Hoare triple {33486#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 46: Hoare triple {33486#true} assume !(~i~1 < 20); {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L256 TraceCheckUtils]: 47: Hoare triple {33486#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 48: Hoare triple {33486#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 49: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 50: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 51: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 52: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,718 INFO L273 TraceCheckUtils]: 53: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 54: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 55: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 56: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 57: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 58: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 59: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 60: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 61: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 62: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,719 INFO L273 TraceCheckUtils]: 63: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 64: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 65: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 66: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 67: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 68: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 69: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 70: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 71: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 72: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,720 INFO L273 TraceCheckUtils]: 73: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 74: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 75: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 76: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 77: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 78: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 79: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 80: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 81: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,721 INFO L273 TraceCheckUtils]: 82: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 83: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 84: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 85: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 86: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 87: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 88: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 89: Hoare triple {33486#true} assume !(~i~0 < 20); {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 90: Hoare triple {33486#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L273 TraceCheckUtils]: 91: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:16,722 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {33486#true} {33486#true} #70#return; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 93: Hoare triple {33486#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L256 TraceCheckUtils]: 94: Hoare triple {33486#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 95: Hoare triple {33486#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 96: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 97: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 98: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 99: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 100: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 101: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,723 INFO L273 TraceCheckUtils]: 102: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 103: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 104: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 105: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 106: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 107: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 108: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 109: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 110: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 111: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,724 INFO L273 TraceCheckUtils]: 112: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 113: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 114: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 115: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 116: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 117: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 118: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 119: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 120: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,725 INFO L273 TraceCheckUtils]: 121: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 122: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 123: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 124: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 125: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 126: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 127: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 128: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 129: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,726 INFO L273 TraceCheckUtils]: 130: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 131: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 132: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 133: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 134: Hoare triple {33486#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 135: Hoare triple {33486#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 136: Hoare triple {33486#true} assume !(~i~0 < 20); {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 137: Hoare triple {33486#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L273 TraceCheckUtils]: 138: Hoare triple {33486#true} assume true; {33486#true} is VALID [2018-11-23 12:16:16,727 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {33486#true} {33486#true} #72#return; {33486#true} is VALID [2018-11-23 12:16:16,728 INFO L273 TraceCheckUtils]: 140: Hoare triple {33486#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {33926#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:16,728 INFO L273 TraceCheckUtils]: 141: Hoare triple {33926#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33926#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:16,729 INFO L273 TraceCheckUtils]: 142: Hoare triple {33926#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33489#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:16,729 INFO L273 TraceCheckUtils]: 143: Hoare triple {33489#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33489#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:16,729 INFO L273 TraceCheckUtils]: 144: Hoare triple {33489#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33490#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:16,730 INFO L273 TraceCheckUtils]: 145: Hoare triple {33490#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33490#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:16,730 INFO L273 TraceCheckUtils]: 146: Hoare triple {33490#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33491#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:16,730 INFO L273 TraceCheckUtils]: 147: Hoare triple {33491#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33491#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:16,731 INFO L273 TraceCheckUtils]: 148: Hoare triple {33491#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33492#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:16,731 INFO L273 TraceCheckUtils]: 149: Hoare triple {33492#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33492#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:16,732 INFO L273 TraceCheckUtils]: 150: Hoare triple {33492#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33493#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:16,733 INFO L273 TraceCheckUtils]: 151: Hoare triple {33493#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33493#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:16,733 INFO L273 TraceCheckUtils]: 152: Hoare triple {33493#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33494#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:16,734 INFO L273 TraceCheckUtils]: 153: Hoare triple {33494#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33494#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:16,734 INFO L273 TraceCheckUtils]: 154: Hoare triple {33494#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33495#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:16,735 INFO L273 TraceCheckUtils]: 155: Hoare triple {33495#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33495#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:16,736 INFO L273 TraceCheckUtils]: 156: Hoare triple {33495#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33496#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:16,736 INFO L273 TraceCheckUtils]: 157: Hoare triple {33496#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33496#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:16,737 INFO L273 TraceCheckUtils]: 158: Hoare triple {33496#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33497#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:16,737 INFO L273 TraceCheckUtils]: 159: Hoare triple {33497#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33497#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:16,738 INFO L273 TraceCheckUtils]: 160: Hoare triple {33497#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33498#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:16,738 INFO L273 TraceCheckUtils]: 161: Hoare triple {33498#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33498#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:16,739 INFO L273 TraceCheckUtils]: 162: Hoare triple {33498#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33499#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:16,740 INFO L273 TraceCheckUtils]: 163: Hoare triple {33499#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33499#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:16,740 INFO L273 TraceCheckUtils]: 164: Hoare triple {33499#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33500#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:16,741 INFO L273 TraceCheckUtils]: 165: Hoare triple {33500#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33500#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:16,741 INFO L273 TraceCheckUtils]: 166: Hoare triple {33500#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33501#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:16,742 INFO L273 TraceCheckUtils]: 167: Hoare triple {33501#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {33501#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:16,743 INFO L273 TraceCheckUtils]: 168: Hoare triple {33501#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {33502#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:16,743 INFO L273 TraceCheckUtils]: 169: Hoare triple {33502#(<= main_~i~2 14)} assume !(~i~2 < 19); {33487#false} is VALID [2018-11-23 12:16:16,743 INFO L273 TraceCheckUtils]: 170: Hoare triple {33487#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {33487#false} is VALID [2018-11-23 12:16:16,744 INFO L256 TraceCheckUtils]: 171: Hoare triple {33487#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {33487#false} is VALID [2018-11-23 12:16:16,744 INFO L273 TraceCheckUtils]: 172: Hoare triple {33487#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {33487#false} is VALID [2018-11-23 12:16:16,744 INFO L273 TraceCheckUtils]: 173: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,744 INFO L273 TraceCheckUtils]: 174: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,744 INFO L273 TraceCheckUtils]: 175: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 176: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 177: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 178: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 179: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 180: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,745 INFO L273 TraceCheckUtils]: 181: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 182: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 183: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 184: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 185: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 186: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,746 INFO L273 TraceCheckUtils]: 187: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 188: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 189: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 190: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 191: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 192: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 193: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 194: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 195: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,747 INFO L273 TraceCheckUtils]: 196: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 197: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 198: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 199: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 200: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 201: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 202: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 203: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 204: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 205: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,748 INFO L273 TraceCheckUtils]: 206: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 207: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 208: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 209: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 210: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 211: Hoare triple {33487#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 212: Hoare triple {33487#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 213: Hoare triple {33487#false} assume !(~i~0 < 20); {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 214: Hoare triple {33487#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L273 TraceCheckUtils]: 215: Hoare triple {33487#false} assume true; {33487#false} is VALID [2018-11-23 12:16:16,749 INFO L268 TraceCheckUtils]: 216: Hoare quadruple {33487#false} {33487#false} #74#return; {33487#false} is VALID [2018-11-23 12:16:16,750 INFO L273 TraceCheckUtils]: 217: Hoare triple {33487#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {33487#false} is VALID [2018-11-23 12:16:16,750 INFO L273 TraceCheckUtils]: 218: Hoare triple {33487#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {33487#false} is VALID [2018-11-23 12:16:16,750 INFO L273 TraceCheckUtils]: 219: Hoare triple {33487#false} assume !false; {33487#false} is VALID [2018-11-23 12:16:16,789 INFO L134 CoverageAnalysis]: Checked inductivity of 4331 backedges. 1690 proven. 196 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:16:16,808 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:16,808 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 17] total 18 [2018-11-23 12:16:16,808 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 220 [2018-11-23 12:16:16,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:16,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:16:16,874 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:16,874 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:16:16,874 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:16:16,875 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:16:16,875 INFO L87 Difference]: Start difference. First operand 131 states and 135 transitions. Second operand 18 states. [2018-11-23 12:16:17,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:17,522 INFO L93 Difference]: Finished difference Result 185 states and 190 transitions. [2018-11-23 12:16:17,522 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2018-11-23 12:16:17,523 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 220 [2018-11-23 12:16:17,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:17,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:16:17,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2018-11-23 12:16:17,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:16:17,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 73 transitions. [2018-11-23 12:16:17,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 73 transitions. [2018-11-23 12:16:17,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:17,596 INFO L225 Difference]: With dead ends: 185 [2018-11-23 12:16:17,596 INFO L226 Difference]: Without dead ends: 134 [2018-11-23 12:16:17,596 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 220 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=153, Invalid=153, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:16:17,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-23 12:16:17,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2018-11-23 12:16:17,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:17,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 133 states. [2018-11-23 12:16:17,676 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 133 states. [2018-11-23 12:16:17,676 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 133 states. [2018-11-23 12:16:17,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:17,679 INFO L93 Difference]: Finished difference Result 134 states and 138 transitions. [2018-11-23 12:16:17,679 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 138 transitions. [2018-11-23 12:16:17,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:17,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:17,679 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 134 states. [2018-11-23 12:16:17,679 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 134 states. [2018-11-23 12:16:17,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:17,681 INFO L93 Difference]: Finished difference Result 134 states and 138 transitions. [2018-11-23 12:16:17,681 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 138 transitions. [2018-11-23 12:16:17,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:17,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:17,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:17,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:17,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-11-23 12:16:17,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 137 transitions. [2018-11-23 12:16:17,683 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 137 transitions. Word has length 220 [2018-11-23 12:16:17,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:17,684 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 137 transitions. [2018-11-23 12:16:17,684 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:16:17,684 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 137 transitions. [2018-11-23 12:16:17,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 223 [2018-11-23 12:16:17,685 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:17,685 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 15, 15, 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:16:17,685 INFO L423 AbstractCegarLoop]: === Iteration 43 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:17,685 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:17,685 INFO L82 PathProgramCache]: Analyzing trace with hash -1794760851, now seen corresponding path program 39 times [2018-11-23 12:16:17,685 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:17,685 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:17,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:17,686 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:17,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:17,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:19,107 INFO L256 TraceCheckUtils]: 0: Hoare triple {34904#true} call ULTIMATE.init(); {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L273 TraceCheckUtils]: 1: Hoare triple {34904#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L273 TraceCheckUtils]: 2: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34904#true} {34904#true} #66#return; {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L256 TraceCheckUtils]: 4: Hoare triple {34904#true} call #t~ret12 := main(); {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L273 TraceCheckUtils]: 5: Hoare triple {34904#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L273 TraceCheckUtils]: 6: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,108 INFO L273 TraceCheckUtils]: 7: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 8: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 9: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 10: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 11: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 12: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,109 INFO L273 TraceCheckUtils]: 13: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 14: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 15: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 16: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 17: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 18: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 19: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,110 INFO L273 TraceCheckUtils]: 20: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 21: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 22: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 23: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 24: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 25: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 26: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 27: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 28: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 29: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,111 INFO L273 TraceCheckUtils]: 30: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 31: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 32: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 33: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 34: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 35: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 36: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 37: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 38: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 39: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,112 INFO L273 TraceCheckUtils]: 40: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 41: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 42: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 43: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 44: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 45: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 46: Hoare triple {34904#true} assume !(~i~1 < 20); {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L256 TraceCheckUtils]: 47: Hoare triple {34904#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 48: Hoare triple {34904#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 49: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,113 INFO L273 TraceCheckUtils]: 50: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 51: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 52: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 53: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 54: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 55: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 56: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 57: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 58: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,114 INFO L273 TraceCheckUtils]: 59: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 60: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 61: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 62: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 63: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 64: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 65: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 66: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 67: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 68: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,115 INFO L273 TraceCheckUtils]: 69: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 70: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 71: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 72: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 73: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 74: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 75: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 76: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 77: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 78: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,116 INFO L273 TraceCheckUtils]: 79: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 80: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 81: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 82: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 83: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 84: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 85: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 86: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 87: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 88: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,117 INFO L273 TraceCheckUtils]: 89: Hoare triple {34904#true} assume !(~i~0 < 20); {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 90: Hoare triple {34904#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 91: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {34904#true} {34904#true} #70#return; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 93: Hoare triple {34904#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L256 TraceCheckUtils]: 94: Hoare triple {34904#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 95: Hoare triple {34904#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 96: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 97: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 98: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,118 INFO L273 TraceCheckUtils]: 99: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 100: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 101: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 102: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 103: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 104: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 105: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 106: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 107: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,119 INFO L273 TraceCheckUtils]: 108: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 109: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 110: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 111: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 112: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 113: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 114: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 115: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 116: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 117: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,120 INFO L273 TraceCheckUtils]: 118: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 119: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 120: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 121: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 122: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 123: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 124: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 125: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 126: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 127: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,121 INFO L273 TraceCheckUtils]: 128: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 129: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 130: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 131: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 132: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 133: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 134: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 135: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 136: Hoare triple {34904#true} assume !(~i~0 < 20); {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 137: Hoare triple {34904#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34904#true} is VALID [2018-11-23 12:16:19,122 INFO L273 TraceCheckUtils]: 138: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:19,123 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {34904#true} {34904#true} #72#return; {34904#true} is VALID [2018-11-23 12:16:19,123 INFO L273 TraceCheckUtils]: 140: Hoare triple {34904#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {34906#(= main_~i~2 0)} is VALID [2018-11-23 12:16:19,123 INFO L273 TraceCheckUtils]: 141: Hoare triple {34906#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34906#(= main_~i~2 0)} is VALID [2018-11-23 12:16:19,124 INFO L273 TraceCheckUtils]: 142: Hoare triple {34906#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34907#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:19,124 INFO L273 TraceCheckUtils]: 143: Hoare triple {34907#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34907#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:19,124 INFO L273 TraceCheckUtils]: 144: Hoare triple {34907#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34908#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:19,125 INFO L273 TraceCheckUtils]: 145: Hoare triple {34908#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34908#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:19,125 INFO L273 TraceCheckUtils]: 146: Hoare triple {34908#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34909#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:19,125 INFO L273 TraceCheckUtils]: 147: Hoare triple {34909#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34909#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:19,126 INFO L273 TraceCheckUtils]: 148: Hoare triple {34909#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34910#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:19,126 INFO L273 TraceCheckUtils]: 149: Hoare triple {34910#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34910#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:19,127 INFO L273 TraceCheckUtils]: 150: Hoare triple {34910#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34911#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:19,127 INFO L273 TraceCheckUtils]: 151: Hoare triple {34911#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34911#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:19,128 INFO L273 TraceCheckUtils]: 152: Hoare triple {34911#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34912#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:19,129 INFO L273 TraceCheckUtils]: 153: Hoare triple {34912#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34912#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:19,129 INFO L273 TraceCheckUtils]: 154: Hoare triple {34912#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34913#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:19,130 INFO L273 TraceCheckUtils]: 155: Hoare triple {34913#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34913#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:19,131 INFO L273 TraceCheckUtils]: 156: Hoare triple {34913#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34914#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:19,131 INFO L273 TraceCheckUtils]: 157: Hoare triple {34914#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34914#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:19,132 INFO L273 TraceCheckUtils]: 158: Hoare triple {34914#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34915#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:19,132 INFO L273 TraceCheckUtils]: 159: Hoare triple {34915#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34915#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:19,133 INFO L273 TraceCheckUtils]: 160: Hoare triple {34915#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34916#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:19,134 INFO L273 TraceCheckUtils]: 161: Hoare triple {34916#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34916#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:19,134 INFO L273 TraceCheckUtils]: 162: Hoare triple {34916#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34917#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:19,135 INFO L273 TraceCheckUtils]: 163: Hoare triple {34917#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34917#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:19,135 INFO L273 TraceCheckUtils]: 164: Hoare triple {34917#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34918#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:19,136 INFO L273 TraceCheckUtils]: 165: Hoare triple {34918#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34918#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:19,137 INFO L273 TraceCheckUtils]: 166: Hoare triple {34918#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34919#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:19,137 INFO L273 TraceCheckUtils]: 167: Hoare triple {34919#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34919#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:19,138 INFO L273 TraceCheckUtils]: 168: Hoare triple {34919#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34920#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:19,138 INFO L273 TraceCheckUtils]: 169: Hoare triple {34920#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34920#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:19,139 INFO L273 TraceCheckUtils]: 170: Hoare triple {34920#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34921#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:19,140 INFO L273 TraceCheckUtils]: 171: Hoare triple {34921#(<= main_~i~2 15)} assume !(~i~2 < 19); {34905#false} is VALID [2018-11-23 12:16:19,140 INFO L273 TraceCheckUtils]: 172: Hoare triple {34905#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {34905#false} is VALID [2018-11-23 12:16:19,140 INFO L256 TraceCheckUtils]: 173: Hoare triple {34905#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {34904#true} is VALID [2018-11-23 12:16:19,140 INFO L273 TraceCheckUtils]: 174: Hoare triple {34904#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 175: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 176: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 177: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 178: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 179: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,141 INFO L273 TraceCheckUtils]: 180: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,142 INFO L273 TraceCheckUtils]: 181: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,142 INFO L273 TraceCheckUtils]: 182: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,142 INFO L273 TraceCheckUtils]: 183: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,142 INFO L273 TraceCheckUtils]: 184: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,142 INFO L273 TraceCheckUtils]: 185: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 186: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 187: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 188: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 189: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 190: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,143 INFO L273 TraceCheckUtils]: 191: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 192: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 193: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 194: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 195: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 196: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 197: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,144 INFO L273 TraceCheckUtils]: 198: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 199: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 200: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 201: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 202: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 203: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 204: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 205: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 206: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 207: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,145 INFO L273 TraceCheckUtils]: 208: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 209: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 210: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 211: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 212: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 213: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 214: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 215: Hoare triple {34904#true} assume !(~i~0 < 20); {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 216: Hoare triple {34904#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L273 TraceCheckUtils]: 217: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:19,146 INFO L268 TraceCheckUtils]: 218: Hoare quadruple {34904#true} {34905#false} #74#return; {34905#false} is VALID [2018-11-23 12:16:19,147 INFO L273 TraceCheckUtils]: 219: Hoare triple {34905#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {34905#false} is VALID [2018-11-23 12:16:19,147 INFO L273 TraceCheckUtils]: 220: Hoare triple {34905#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34905#false} is VALID [2018-11-23 12:16:19,147 INFO L273 TraceCheckUtils]: 221: Hoare triple {34905#false} assume !false; {34905#false} is VALID [2018-11-23 12:16:19,164 INFO L134 CoverageAnalysis]: Checked inductivity of 4360 backedges. 0 proven. 225 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:19,164 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:19,164 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:19,172 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:16:20,244 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 17 check-sat command(s) [2018-11-23 12:16:20,244 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:20,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:20,313 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:21,263 INFO L256 TraceCheckUtils]: 0: Hoare triple {34904#true} call ULTIMATE.init(); {34904#true} is VALID [2018-11-23 12:16:21,264 INFO L273 TraceCheckUtils]: 1: Hoare triple {34904#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {34904#true} is VALID [2018-11-23 12:16:21,264 INFO L273 TraceCheckUtils]: 2: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:21,264 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34904#true} {34904#true} #66#return; {34904#true} is VALID [2018-11-23 12:16:21,264 INFO L256 TraceCheckUtils]: 4: Hoare triple {34904#true} call #t~ret12 := main(); {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 5: Hoare triple {34904#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 6: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 7: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 8: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 9: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,265 INFO L273 TraceCheckUtils]: 10: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 11: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 12: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 13: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 14: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 15: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 16: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,266 INFO L273 TraceCheckUtils]: 17: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 18: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 19: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 20: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 21: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 22: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 23: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 24: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 25: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 26: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,267 INFO L273 TraceCheckUtils]: 27: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 28: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 29: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 30: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 31: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 32: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 33: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 34: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 35: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 36: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,268 INFO L273 TraceCheckUtils]: 37: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 38: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 39: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 40: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 41: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 42: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 43: Hoare triple {34904#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {34904#true} is VALID [2018-11-23 12:16:21,269 INFO L273 TraceCheckUtils]: 44: Hoare triple {34904#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {35057#(< main_~i~1 20)} is VALID [2018-11-23 12:16:21,270 INFO L273 TraceCheckUtils]: 45: Hoare triple {35057#(< main_~i~1 20)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {35061#(<= main_~i~1 20)} is VALID [2018-11-23 12:16:21,270 INFO L273 TraceCheckUtils]: 46: Hoare triple {35061#(<= main_~i~1 20)} assume !(~i~1 < 20); {34904#true} is VALID [2018-11-23 12:16:21,270 INFO L256 TraceCheckUtils]: 47: Hoare triple {34904#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {34904#true} is VALID [2018-11-23 12:16:21,270 INFO L273 TraceCheckUtils]: 48: Hoare triple {34904#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34904#true} is VALID [2018-11-23 12:16:21,270 INFO L273 TraceCheckUtils]: 49: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 50: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 51: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 52: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 53: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 54: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 55: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 56: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 57: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 58: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,271 INFO L273 TraceCheckUtils]: 59: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 60: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 61: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 62: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 63: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 64: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 65: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 66: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 67: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 68: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,272 INFO L273 TraceCheckUtils]: 69: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 70: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 71: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 72: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 73: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 74: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 75: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 76: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 77: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 78: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,273 INFO L273 TraceCheckUtils]: 79: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 80: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 81: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 82: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 83: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 84: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 85: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 86: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 87: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,274 INFO L273 TraceCheckUtils]: 88: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 89: Hoare triple {34904#true} assume !(~i~0 < 20); {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 90: Hoare triple {34904#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 91: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {34904#true} {34904#true} #70#return; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 93: Hoare triple {34904#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L256 TraceCheckUtils]: 94: Hoare triple {34904#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 95: Hoare triple {34904#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 96: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 97: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,275 INFO L273 TraceCheckUtils]: 98: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 99: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 100: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 101: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 102: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 103: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 104: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 105: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 106: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 107: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,276 INFO L273 TraceCheckUtils]: 108: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 109: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 110: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 111: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 112: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 113: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 114: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 115: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 116: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,277 INFO L273 TraceCheckUtils]: 117: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 118: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 119: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 120: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 121: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 122: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 123: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 124: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 125: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 126: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,278 INFO L273 TraceCheckUtils]: 127: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 128: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 129: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 130: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 131: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 132: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 133: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 134: Hoare triple {34904#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 135: Hoare triple {34904#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 136: Hoare triple {34904#true} assume !(~i~0 < 20); {34904#true} is VALID [2018-11-23 12:16:21,279 INFO L273 TraceCheckUtils]: 137: Hoare triple {34904#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34904#true} is VALID [2018-11-23 12:16:21,280 INFO L273 TraceCheckUtils]: 138: Hoare triple {34904#true} assume true; {34904#true} is VALID [2018-11-23 12:16:21,280 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {34904#true} {34904#true} #72#return; {34904#true} is VALID [2018-11-23 12:16:21,280 INFO L273 TraceCheckUtils]: 140: Hoare triple {34904#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {35347#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:21,280 INFO L273 TraceCheckUtils]: 141: Hoare triple {35347#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {35347#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:21,281 INFO L273 TraceCheckUtils]: 142: Hoare triple {35347#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34907#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:21,281 INFO L273 TraceCheckUtils]: 143: Hoare triple {34907#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34907#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:21,282 INFO L273 TraceCheckUtils]: 144: Hoare triple {34907#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34908#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:21,282 INFO L273 TraceCheckUtils]: 145: Hoare triple {34908#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34908#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:21,282 INFO L273 TraceCheckUtils]: 146: Hoare triple {34908#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34909#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:21,283 INFO L273 TraceCheckUtils]: 147: Hoare triple {34909#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34909#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:21,283 INFO L273 TraceCheckUtils]: 148: Hoare triple {34909#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34910#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:21,283 INFO L273 TraceCheckUtils]: 149: Hoare triple {34910#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34910#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:21,284 INFO L273 TraceCheckUtils]: 150: Hoare triple {34910#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34911#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:21,284 INFO L273 TraceCheckUtils]: 151: Hoare triple {34911#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34911#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:21,285 INFO L273 TraceCheckUtils]: 152: Hoare triple {34911#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34912#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:21,285 INFO L273 TraceCheckUtils]: 153: Hoare triple {34912#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34912#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:21,286 INFO L273 TraceCheckUtils]: 154: Hoare triple {34912#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34913#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:21,286 INFO L273 TraceCheckUtils]: 155: Hoare triple {34913#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34913#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:21,287 INFO L273 TraceCheckUtils]: 156: Hoare triple {34913#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34914#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:21,288 INFO L273 TraceCheckUtils]: 157: Hoare triple {34914#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34914#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:21,288 INFO L273 TraceCheckUtils]: 158: Hoare triple {34914#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34915#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:21,289 INFO L273 TraceCheckUtils]: 159: Hoare triple {34915#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34915#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:21,289 INFO L273 TraceCheckUtils]: 160: Hoare triple {34915#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34916#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:21,290 INFO L273 TraceCheckUtils]: 161: Hoare triple {34916#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34916#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:21,291 INFO L273 TraceCheckUtils]: 162: Hoare triple {34916#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34917#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:21,291 INFO L273 TraceCheckUtils]: 163: Hoare triple {34917#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34917#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:21,292 INFO L273 TraceCheckUtils]: 164: Hoare triple {34917#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34918#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:21,292 INFO L273 TraceCheckUtils]: 165: Hoare triple {34918#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34918#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:21,293 INFO L273 TraceCheckUtils]: 166: Hoare triple {34918#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34919#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:21,293 INFO L273 TraceCheckUtils]: 167: Hoare triple {34919#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34919#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:21,294 INFO L273 TraceCheckUtils]: 168: Hoare triple {34919#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34920#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:21,295 INFO L273 TraceCheckUtils]: 169: Hoare triple {34920#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {34920#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:21,295 INFO L273 TraceCheckUtils]: 170: Hoare triple {34920#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {34921#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:21,296 INFO L273 TraceCheckUtils]: 171: Hoare triple {34921#(<= main_~i~2 15)} assume !(~i~2 < 19); {34905#false} is VALID [2018-11-23 12:16:21,296 INFO L273 TraceCheckUtils]: 172: Hoare triple {34905#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {34905#false} is VALID [2018-11-23 12:16:21,296 INFO L256 TraceCheckUtils]: 173: Hoare triple {34905#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {34905#false} is VALID [2018-11-23 12:16:21,296 INFO L273 TraceCheckUtils]: 174: Hoare triple {34905#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 175: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 176: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 177: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 178: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 179: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,297 INFO L273 TraceCheckUtils]: 180: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 181: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 182: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 183: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 184: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 185: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,298 INFO L273 TraceCheckUtils]: 186: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,299 INFO L273 TraceCheckUtils]: 187: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,299 INFO L273 TraceCheckUtils]: 188: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,299 INFO L273 TraceCheckUtils]: 189: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,299 INFO L273 TraceCheckUtils]: 190: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,299 INFO L273 TraceCheckUtils]: 191: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 192: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 193: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 194: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 195: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 196: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 197: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,300 INFO L273 TraceCheckUtils]: 198: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 199: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 200: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 201: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 202: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 203: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 204: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 205: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 206: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 207: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,301 INFO L273 TraceCheckUtils]: 208: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 209: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 210: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 211: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 212: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 213: Hoare triple {34905#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 214: Hoare triple {34905#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 215: Hoare triple {34905#false} assume !(~i~0 < 20); {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 216: Hoare triple {34905#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {34905#false} is VALID [2018-11-23 12:16:21,302 INFO L273 TraceCheckUtils]: 217: Hoare triple {34905#false} assume true; {34905#false} is VALID [2018-11-23 12:16:21,303 INFO L268 TraceCheckUtils]: 218: Hoare quadruple {34905#false} {34905#false} #74#return; {34905#false} is VALID [2018-11-23 12:16:21,303 INFO L273 TraceCheckUtils]: 219: Hoare triple {34905#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {34905#false} is VALID [2018-11-23 12:16:21,303 INFO L273 TraceCheckUtils]: 220: Hoare triple {34905#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {34905#false} is VALID [2018-11-23 12:16:21,303 INFO L273 TraceCheckUtils]: 221: Hoare triple {34905#false} assume !false; {34905#false} is VALID [2018-11-23 12:16:21,321 INFO L134 CoverageAnalysis]: Checked inductivity of 4360 backedges. 1729 proven. 225 refuted. 0 times theorem prover too weak. 2406 trivial. 0 not checked. [2018-11-23 12:16:21,342 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:21,343 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 20] total 21 [2018-11-23 12:16:21,343 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 222 [2018-11-23 12:16:21,344 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:21,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:16:21,422 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:21,422 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:16:21,423 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:16:21,423 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=176, Invalid=244, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:16:21,424 INFO L87 Difference]: Start difference. First operand 133 states and 137 transitions. Second operand 21 states. [2018-11-23 12:16:23,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:23,284 INFO L93 Difference]: Finished difference Result 187 states and 192 transitions. [2018-11-23 12:16:23,284 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:16:23,284 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 222 [2018-11-23 12:16:23,284 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:23,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:16:23,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2018-11-23 12:16:23,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:16:23,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2018-11-23 12:16:23,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 76 transitions. [2018-11-23 12:16:23,357 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:23,360 INFO L225 Difference]: With dead ends: 187 [2018-11-23 12:16:23,360 INFO L226 Difference]: Without dead ends: 136 [2018-11-23 12:16:23,361 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 255 GetRequests, 220 SyntacticMatches, 0 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=481, Invalid=851, Unknown=0, NotChecked=0, Total=1332 [2018-11-23 12:16:23,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-11-23 12:16:23,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 135. [2018-11-23 12:16:23,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:23,433 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 135 states. [2018-11-23 12:16:23,433 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 135 states. [2018-11-23 12:16:23,433 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 135 states. [2018-11-23 12:16:23,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:23,437 INFO L93 Difference]: Finished difference Result 136 states and 140 transitions. [2018-11-23 12:16:23,437 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 140 transitions. [2018-11-23 12:16:23,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:23,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:23,437 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 136 states. [2018-11-23 12:16:23,438 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 136 states. [2018-11-23 12:16:23,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:23,440 INFO L93 Difference]: Finished difference Result 136 states and 140 transitions. [2018-11-23 12:16:23,440 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 140 transitions. [2018-11-23 12:16:23,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:23,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:23,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:23,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:23,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 135 states. [2018-11-23 12:16:23,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 139 transitions. [2018-11-23 12:16:23,444 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 139 transitions. Word has length 222 [2018-11-23 12:16:23,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:23,444 INFO L480 AbstractCegarLoop]: Abstraction has 135 states and 139 transitions. [2018-11-23 12:16:23,444 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:16:23,444 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 139 transitions. [2018-11-23 12:16:23,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 225 [2018-11-23 12:16:23,445 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:23,446 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 16, 16, 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:16:23,446 INFO L423 AbstractCegarLoop]: === Iteration 44 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:23,446 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:23,446 INFO L82 PathProgramCache]: Analyzing trace with hash 1146283627, now seen corresponding path program 40 times [2018-11-23 12:16:23,446 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:23,446 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:23,447 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:23,447 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:23,447 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:23,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:24,406 INFO L256 TraceCheckUtils]: 0: Hoare triple {36373#true} call ULTIMATE.init(); {36373#true} is VALID [2018-11-23 12:16:24,406 INFO L273 TraceCheckUtils]: 1: Hoare triple {36373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {36373#true} is VALID [2018-11-23 12:16:24,406 INFO L273 TraceCheckUtils]: 2: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:24,407 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36373#true} {36373#true} #66#return; {36373#true} is VALID [2018-11-23 12:16:24,407 INFO L256 TraceCheckUtils]: 4: Hoare triple {36373#true} call #t~ret12 := main(); {36373#true} is VALID [2018-11-23 12:16:24,407 INFO L273 TraceCheckUtils]: 5: Hoare triple {36373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {36373#true} is VALID [2018-11-23 12:16:24,407 INFO L273 TraceCheckUtils]: 6: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 7: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 8: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 9: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 10: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 11: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,408 INFO L273 TraceCheckUtils]: 12: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,409 INFO L273 TraceCheckUtils]: 13: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,409 INFO L273 TraceCheckUtils]: 14: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,409 INFO L273 TraceCheckUtils]: 15: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,409 INFO L273 TraceCheckUtils]: 16: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,409 INFO L273 TraceCheckUtils]: 17: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 18: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 19: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 20: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 21: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 22: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 23: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 24: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,410 INFO L273 TraceCheckUtils]: 25: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 26: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 27: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 28: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 29: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 30: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 31: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 32: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 33: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 34: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,411 INFO L273 TraceCheckUtils]: 35: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 36: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 37: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 38: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 39: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 40: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 41: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 42: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 43: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 44: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:24,412 INFO L273 TraceCheckUtils]: 45: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 46: Hoare triple {36373#true} assume !(~i~1 < 20); {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L256 TraceCheckUtils]: 47: Hoare triple {36373#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 48: Hoare triple {36373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 49: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 50: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 51: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 52: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 53: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,413 INFO L273 TraceCheckUtils]: 54: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 55: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 56: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 57: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 58: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 59: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 60: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 61: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 62: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 63: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,414 INFO L273 TraceCheckUtils]: 64: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 65: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 66: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 67: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 68: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 69: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 70: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 71: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 72: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 73: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,415 INFO L273 TraceCheckUtils]: 74: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 75: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 76: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 77: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 78: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 79: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 80: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 81: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 82: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 83: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,416 INFO L273 TraceCheckUtils]: 84: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 85: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 86: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 87: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 88: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 89: Hoare triple {36373#true} assume !(~i~0 < 20); {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 90: Hoare triple {36373#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 91: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {36373#true} {36373#true} #70#return; {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L273 TraceCheckUtils]: 93: Hoare triple {36373#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {36373#true} is VALID [2018-11-23 12:16:24,417 INFO L256 TraceCheckUtils]: 94: Hoare triple {36373#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 95: Hoare triple {36373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 96: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 97: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 98: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 99: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 100: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 101: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 102: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,418 INFO L273 TraceCheckUtils]: 103: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 104: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 105: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 106: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 107: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 108: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 109: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 110: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 111: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 112: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,419 INFO L273 TraceCheckUtils]: 113: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 114: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 115: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 116: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 117: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 118: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 119: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 120: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 121: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 122: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,420 INFO L273 TraceCheckUtils]: 123: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 124: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 125: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 126: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 127: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 128: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 129: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 130: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 131: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 132: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,421 INFO L273 TraceCheckUtils]: 133: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L273 TraceCheckUtils]: 134: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L273 TraceCheckUtils]: 135: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L273 TraceCheckUtils]: 136: Hoare triple {36373#true} assume !(~i~0 < 20); {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L273 TraceCheckUtils]: 137: Hoare triple {36373#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L273 TraceCheckUtils]: 138: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:24,422 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {36373#true} {36373#true} #72#return; {36373#true} is VALID [2018-11-23 12:16:24,423 INFO L273 TraceCheckUtils]: 140: Hoare triple {36373#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {36375#(= main_~i~2 0)} is VALID [2018-11-23 12:16:24,423 INFO L273 TraceCheckUtils]: 141: Hoare triple {36375#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36375#(= main_~i~2 0)} is VALID [2018-11-23 12:16:24,423 INFO L273 TraceCheckUtils]: 142: Hoare triple {36375#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36376#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:24,424 INFO L273 TraceCheckUtils]: 143: Hoare triple {36376#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36376#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:24,424 INFO L273 TraceCheckUtils]: 144: Hoare triple {36376#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36377#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:24,424 INFO L273 TraceCheckUtils]: 145: Hoare triple {36377#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36377#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:24,425 INFO L273 TraceCheckUtils]: 146: Hoare triple {36377#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36378#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:24,425 INFO L273 TraceCheckUtils]: 147: Hoare triple {36378#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36378#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:24,426 INFO L273 TraceCheckUtils]: 148: Hoare triple {36378#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36379#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:24,427 INFO L273 TraceCheckUtils]: 149: Hoare triple {36379#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36379#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:24,427 INFO L273 TraceCheckUtils]: 150: Hoare triple {36379#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36380#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:24,428 INFO L273 TraceCheckUtils]: 151: Hoare triple {36380#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36380#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:24,429 INFO L273 TraceCheckUtils]: 152: Hoare triple {36380#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36381#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:24,429 INFO L273 TraceCheckUtils]: 153: Hoare triple {36381#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36381#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:24,430 INFO L273 TraceCheckUtils]: 154: Hoare triple {36381#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36382#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:24,430 INFO L273 TraceCheckUtils]: 155: Hoare triple {36382#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36382#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:24,431 INFO L273 TraceCheckUtils]: 156: Hoare triple {36382#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36383#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:24,432 INFO L273 TraceCheckUtils]: 157: Hoare triple {36383#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36383#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:24,432 INFO L273 TraceCheckUtils]: 158: Hoare triple {36383#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36384#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:24,433 INFO L273 TraceCheckUtils]: 159: Hoare triple {36384#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36384#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:24,433 INFO L273 TraceCheckUtils]: 160: Hoare triple {36384#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36385#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:24,434 INFO L273 TraceCheckUtils]: 161: Hoare triple {36385#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36385#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:24,435 INFO L273 TraceCheckUtils]: 162: Hoare triple {36385#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36386#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:24,435 INFO L273 TraceCheckUtils]: 163: Hoare triple {36386#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36386#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:24,436 INFO L273 TraceCheckUtils]: 164: Hoare triple {36386#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36387#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:24,436 INFO L273 TraceCheckUtils]: 165: Hoare triple {36387#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36387#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:24,437 INFO L273 TraceCheckUtils]: 166: Hoare triple {36387#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36388#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:24,438 INFO L273 TraceCheckUtils]: 167: Hoare triple {36388#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36388#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:24,438 INFO L273 TraceCheckUtils]: 168: Hoare triple {36388#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36389#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:24,439 INFO L273 TraceCheckUtils]: 169: Hoare triple {36389#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36389#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:24,440 INFO L273 TraceCheckUtils]: 170: Hoare triple {36389#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36390#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:24,440 INFO L273 TraceCheckUtils]: 171: Hoare triple {36390#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36390#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:24,441 INFO L273 TraceCheckUtils]: 172: Hoare triple {36390#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36391#(<= main_~i~2 16)} is VALID [2018-11-23 12:16:24,442 INFO L273 TraceCheckUtils]: 173: Hoare triple {36391#(<= main_~i~2 16)} assume !(~i~2 < 19); {36374#false} is VALID [2018-11-23 12:16:24,442 INFO L273 TraceCheckUtils]: 174: Hoare triple {36374#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {36374#false} is VALID [2018-11-23 12:16:24,442 INFO L256 TraceCheckUtils]: 175: Hoare triple {36374#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {36373#true} is VALID [2018-11-23 12:16:24,442 INFO L273 TraceCheckUtils]: 176: Hoare triple {36373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36373#true} is VALID [2018-11-23 12:16:24,442 INFO L273 TraceCheckUtils]: 177: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 178: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 179: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 180: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 181: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 182: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,443 INFO L273 TraceCheckUtils]: 183: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 184: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 185: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 186: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 187: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 188: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 189: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,444 INFO L273 TraceCheckUtils]: 190: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 191: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 192: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 193: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 194: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 195: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 196: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 197: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 198: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 199: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,445 INFO L273 TraceCheckUtils]: 200: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 201: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 202: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 203: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 204: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 205: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 206: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 207: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 208: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 209: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,446 INFO L273 TraceCheckUtils]: 210: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 211: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 212: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 213: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 214: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 215: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 216: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 217: Hoare triple {36373#true} assume !(~i~0 < 20); {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 218: Hoare triple {36373#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36373#true} is VALID [2018-11-23 12:16:24,447 INFO L273 TraceCheckUtils]: 219: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:24,448 INFO L268 TraceCheckUtils]: 220: Hoare quadruple {36373#true} {36374#false} #74#return; {36374#false} is VALID [2018-11-23 12:16:24,448 INFO L273 TraceCheckUtils]: 221: Hoare triple {36374#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {36374#false} is VALID [2018-11-23 12:16:24,448 INFO L273 TraceCheckUtils]: 222: Hoare triple {36374#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36374#false} is VALID [2018-11-23 12:16:24,448 INFO L273 TraceCheckUtils]: 223: Hoare triple {36374#false} assume !false; {36374#false} is VALID [2018-11-23 12:16:24,466 INFO L134 CoverageAnalysis]: Checked inductivity of 4391 backedges. 0 proven. 256 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:24,466 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:24,466 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:24,475 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:16:24,576 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:16:24,577 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:24,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:24,622 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:25,593 INFO L256 TraceCheckUtils]: 0: Hoare triple {36373#true} call ULTIMATE.init(); {36373#true} is VALID [2018-11-23 12:16:25,593 INFO L273 TraceCheckUtils]: 1: Hoare triple {36373#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 2: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36373#true} {36373#true} #66#return; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L256 TraceCheckUtils]: 4: Hoare triple {36373#true} call #t~ret12 := main(); {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 5: Hoare triple {36373#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 6: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 7: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 8: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 9: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 10: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,594 INFO L273 TraceCheckUtils]: 11: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 12: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 13: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 14: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 15: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 16: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 17: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 18: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 19: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,595 INFO L273 TraceCheckUtils]: 20: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 21: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 22: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 23: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 24: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 25: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 26: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 27: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 28: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 29: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,596 INFO L273 TraceCheckUtils]: 30: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 31: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 32: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 33: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 34: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 35: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 36: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 37: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 38: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 39: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,597 INFO L273 TraceCheckUtils]: 40: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 41: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 42: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 43: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 44: Hoare triple {36373#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 45: Hoare triple {36373#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 46: Hoare triple {36373#true} assume !(~i~1 < 20); {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L256 TraceCheckUtils]: 47: Hoare triple {36373#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 48: Hoare triple {36373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 49: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,598 INFO L273 TraceCheckUtils]: 50: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 51: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 52: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 53: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 54: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 55: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 56: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 57: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 58: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,599 INFO L273 TraceCheckUtils]: 59: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 60: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 61: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 62: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 63: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 64: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 65: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 66: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 67: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 68: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,600 INFO L273 TraceCheckUtils]: 69: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 70: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 71: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 72: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 73: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 74: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 75: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 76: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 77: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 78: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,601 INFO L273 TraceCheckUtils]: 79: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 80: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 81: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 82: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 83: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 84: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 85: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 86: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 87: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 88: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,602 INFO L273 TraceCheckUtils]: 89: Hoare triple {36373#true} assume !(~i~0 < 20); {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 90: Hoare triple {36373#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 91: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {36373#true} {36373#true} #70#return; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 93: Hoare triple {36373#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L256 TraceCheckUtils]: 94: Hoare triple {36373#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 95: Hoare triple {36373#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 96: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 97: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 98: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,603 INFO L273 TraceCheckUtils]: 99: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 100: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 101: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 102: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 103: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 104: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 105: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 106: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 107: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 108: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,604 INFO L273 TraceCheckUtils]: 109: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 110: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 111: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 112: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 113: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 114: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 115: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 116: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 117: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 118: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,605 INFO L273 TraceCheckUtils]: 119: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 120: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 121: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 122: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 123: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 124: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 125: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 126: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 127: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 128: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,606 INFO L273 TraceCheckUtils]: 129: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 130: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 131: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 132: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 133: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 134: Hoare triple {36373#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 135: Hoare triple {36373#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 136: Hoare triple {36373#true} assume !(~i~0 < 20); {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 137: Hoare triple {36373#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L273 TraceCheckUtils]: 138: Hoare triple {36373#true} assume true; {36373#true} is VALID [2018-11-23 12:16:25,607 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {36373#true} {36373#true} #72#return; {36373#true} is VALID [2018-11-23 12:16:25,610 INFO L273 TraceCheckUtils]: 140: Hoare triple {36373#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {36815#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:25,610 INFO L273 TraceCheckUtils]: 141: Hoare triple {36815#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36815#(<= main_~i~2 0)} is VALID [2018-11-23 12:16:25,611 INFO L273 TraceCheckUtils]: 142: Hoare triple {36815#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36376#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:25,611 INFO L273 TraceCheckUtils]: 143: Hoare triple {36376#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36376#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:25,612 INFO L273 TraceCheckUtils]: 144: Hoare triple {36376#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36377#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:25,612 INFO L273 TraceCheckUtils]: 145: Hoare triple {36377#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36377#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:25,613 INFO L273 TraceCheckUtils]: 146: Hoare triple {36377#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36378#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:25,613 INFO L273 TraceCheckUtils]: 147: Hoare triple {36378#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36378#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:25,613 INFO L273 TraceCheckUtils]: 148: Hoare triple {36378#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36379#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:25,614 INFO L273 TraceCheckUtils]: 149: Hoare triple {36379#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36379#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:25,614 INFO L273 TraceCheckUtils]: 150: Hoare triple {36379#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36380#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:25,615 INFO L273 TraceCheckUtils]: 151: Hoare triple {36380#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36380#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:25,615 INFO L273 TraceCheckUtils]: 152: Hoare triple {36380#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36381#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:25,616 INFO L273 TraceCheckUtils]: 153: Hoare triple {36381#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36381#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:25,616 INFO L273 TraceCheckUtils]: 154: Hoare triple {36381#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36382#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:25,617 INFO L273 TraceCheckUtils]: 155: Hoare triple {36382#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36382#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:25,618 INFO L273 TraceCheckUtils]: 156: Hoare triple {36382#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36383#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:25,618 INFO L273 TraceCheckUtils]: 157: Hoare triple {36383#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36383#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:25,619 INFO L273 TraceCheckUtils]: 158: Hoare triple {36383#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36384#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:25,619 INFO L273 TraceCheckUtils]: 159: Hoare triple {36384#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36384#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:25,620 INFO L273 TraceCheckUtils]: 160: Hoare triple {36384#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36385#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:25,620 INFO L273 TraceCheckUtils]: 161: Hoare triple {36385#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36385#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:25,621 INFO L273 TraceCheckUtils]: 162: Hoare triple {36385#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36386#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:25,622 INFO L273 TraceCheckUtils]: 163: Hoare triple {36386#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36386#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:25,622 INFO L273 TraceCheckUtils]: 164: Hoare triple {36386#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36387#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:25,623 INFO L273 TraceCheckUtils]: 165: Hoare triple {36387#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36387#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:25,623 INFO L273 TraceCheckUtils]: 166: Hoare triple {36387#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36388#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:25,624 INFO L273 TraceCheckUtils]: 167: Hoare triple {36388#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36388#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:25,625 INFO L273 TraceCheckUtils]: 168: Hoare triple {36388#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36389#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:25,625 INFO L273 TraceCheckUtils]: 169: Hoare triple {36389#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36389#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:25,626 INFO L273 TraceCheckUtils]: 170: Hoare triple {36389#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36390#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:25,626 INFO L273 TraceCheckUtils]: 171: Hoare triple {36390#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {36390#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:25,627 INFO L273 TraceCheckUtils]: 172: Hoare triple {36390#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {36391#(<= main_~i~2 16)} is VALID [2018-11-23 12:16:25,628 INFO L273 TraceCheckUtils]: 173: Hoare triple {36391#(<= main_~i~2 16)} assume !(~i~2 < 19); {36374#false} is VALID [2018-11-23 12:16:25,628 INFO L273 TraceCheckUtils]: 174: Hoare triple {36374#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {36374#false} is VALID [2018-11-23 12:16:25,628 INFO L256 TraceCheckUtils]: 175: Hoare triple {36374#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {36374#false} is VALID [2018-11-23 12:16:25,628 INFO L273 TraceCheckUtils]: 176: Hoare triple {36374#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {36374#false} is VALID [2018-11-23 12:16:25,628 INFO L273 TraceCheckUtils]: 177: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,628 INFO L273 TraceCheckUtils]: 178: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 179: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 180: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 181: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 182: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 183: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,629 INFO L273 TraceCheckUtils]: 184: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 185: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 186: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 187: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 188: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 189: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 190: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,630 INFO L273 TraceCheckUtils]: 191: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 192: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 193: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 194: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 195: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 196: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,631 INFO L273 TraceCheckUtils]: 197: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 198: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 199: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 200: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 201: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 202: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 203: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 204: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 205: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 206: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,632 INFO L273 TraceCheckUtils]: 207: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 208: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 209: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 210: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 211: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 212: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 213: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 214: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 215: Hoare triple {36374#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 216: Hoare triple {36374#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {36374#false} is VALID [2018-11-23 12:16:25,633 INFO L273 TraceCheckUtils]: 217: Hoare triple {36374#false} assume !(~i~0 < 20); {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L273 TraceCheckUtils]: 218: Hoare triple {36374#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L273 TraceCheckUtils]: 219: Hoare triple {36374#false} assume true; {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L268 TraceCheckUtils]: 220: Hoare quadruple {36374#false} {36374#false} #74#return; {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L273 TraceCheckUtils]: 221: Hoare triple {36374#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L273 TraceCheckUtils]: 222: Hoare triple {36374#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36374#false} is VALID [2018-11-23 12:16:25,634 INFO L273 TraceCheckUtils]: 223: Hoare triple {36374#false} assume !false; {36374#false} is VALID [2018-11-23 12:16:25,652 INFO L134 CoverageAnalysis]: Checked inductivity of 4391 backedges. 1690 proven. 256 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:16:25,671 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:25,672 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 20 [2018-11-23 12:16:25,672 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 224 [2018-11-23 12:16:25,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:25,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2018-11-23 12:16:25,743 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:25,743 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-11-23 12:16:25,743 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-11-23 12:16:25,744 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:16:25,744 INFO L87 Difference]: Start difference. First operand 135 states and 139 transitions. Second operand 20 states. [2018-11-23 12:16:26,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:26,324 INFO L93 Difference]: Finished difference Result 189 states and 194 transitions. [2018-11-23 12:16:26,324 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:16:26,324 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 224 [2018-11-23 12:16:26,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:26,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:16:26,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2018-11-23 12:16:26,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 12:16:26,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2018-11-23 12:16:26,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 77 transitions. [2018-11-23 12:16:26,407 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:16:26,410 INFO L225 Difference]: With dead ends: 189 [2018-11-23 12:16:26,410 INFO L226 Difference]: Without dead ends: 138 [2018-11-23 12:16:26,410 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 242 GetRequests, 224 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=190, Invalid=190, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:16:26,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2018-11-23 12:16:26,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 137. [2018-11-23 12:16:26,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:26,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 137 states. [2018-11-23 12:16:26,483 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 137 states. [2018-11-23 12:16:26,483 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 137 states. [2018-11-23 12:16:26,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:26,486 INFO L93 Difference]: Finished difference Result 138 states and 142 transitions. [2018-11-23 12:16:26,486 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 142 transitions. [2018-11-23 12:16:26,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:26,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:26,486 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 138 states. [2018-11-23 12:16:26,487 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 138 states. [2018-11-23 12:16:26,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:26,488 INFO L93 Difference]: Finished difference Result 138 states and 142 transitions. [2018-11-23 12:16:26,489 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 142 transitions. [2018-11-23 12:16:26,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:26,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:26,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:26,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:26,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-11-23 12:16:26,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 141 transitions. [2018-11-23 12:16:26,491 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 141 transitions. Word has length 224 [2018-11-23 12:16:26,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:26,491 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 141 transitions. [2018-11-23 12:16:26,491 INFO L481 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-11-23 12:16:26,491 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 141 transitions. [2018-11-23 12:16:26,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 227 [2018-11-23 12:16:26,492 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:26,492 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 17, 17, 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:16:26,492 INFO L423 AbstractCegarLoop]: === Iteration 45 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:26,492 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:26,493 INFO L82 PathProgramCache]: Analyzing trace with hash 1401546217, now seen corresponding path program 41 times [2018-11-23 12:16:26,493 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:26,493 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:26,493 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:26,493 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:26,493 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:26,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:27,037 INFO L256 TraceCheckUtils]: 0: Hoare triple {37825#true} call ULTIMATE.init(); {37825#true} is VALID [2018-11-23 12:16:27,037 INFO L273 TraceCheckUtils]: 1: Hoare triple {37825#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37825#true} is VALID [2018-11-23 12:16:27,038 INFO L273 TraceCheckUtils]: 2: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:16:27,038 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37825#true} {37825#true} #66#return; {37825#true} is VALID [2018-11-23 12:16:27,038 INFO L256 TraceCheckUtils]: 4: Hoare triple {37825#true} call #t~ret12 := main(); {37825#true} is VALID [2018-11-23 12:16:27,038 INFO L273 TraceCheckUtils]: 5: Hoare triple {37825#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 6: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 7: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 8: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 9: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 10: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,039 INFO L273 TraceCheckUtils]: 11: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 12: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 13: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 14: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 15: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 16: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,040 INFO L273 TraceCheckUtils]: 17: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,041 INFO L273 TraceCheckUtils]: 18: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,041 INFO L273 TraceCheckUtils]: 19: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,041 INFO L273 TraceCheckUtils]: 20: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,041 INFO L273 TraceCheckUtils]: 21: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,041 INFO L273 TraceCheckUtils]: 22: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 23: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 24: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 25: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 26: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 27: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 28: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 29: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,042 INFO L273 TraceCheckUtils]: 30: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 31: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 32: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 33: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 34: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 35: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 36: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 37: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 38: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 39: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,043 INFO L273 TraceCheckUtils]: 40: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 41: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 42: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 43: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 44: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 45: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 46: Hoare triple {37825#true} assume !(~i~1 < 20); {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L256 TraceCheckUtils]: 47: Hoare triple {37825#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 48: Hoare triple {37825#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37825#true} is VALID [2018-11-23 12:16:27,044 INFO L273 TraceCheckUtils]: 49: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 50: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 51: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 52: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 53: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 54: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 55: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 56: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 57: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 58: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,045 INFO L273 TraceCheckUtils]: 59: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 60: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 61: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 62: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 63: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 64: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 65: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 66: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 67: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 68: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,046 INFO L273 TraceCheckUtils]: 69: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 70: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 71: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 72: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 73: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 74: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 75: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 76: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 77: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 78: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,047 INFO L273 TraceCheckUtils]: 79: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 80: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 81: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 82: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 83: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 84: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 85: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 86: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 87: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,048 INFO L273 TraceCheckUtils]: 88: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 89: Hoare triple {37825#true} assume !(~i~0 < 20); {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 90: Hoare triple {37825#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 91: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {37825#true} {37825#true} #70#return; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 93: Hoare triple {37825#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L256 TraceCheckUtils]: 94: Hoare triple {37825#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 95: Hoare triple {37825#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 96: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 97: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,049 INFO L273 TraceCheckUtils]: 98: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 99: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 100: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 101: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 102: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 103: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 104: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 105: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 106: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 107: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,050 INFO L273 TraceCheckUtils]: 108: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 109: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 110: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 111: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 112: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 113: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 114: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 115: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 116: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,051 INFO L273 TraceCheckUtils]: 117: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 118: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 119: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 120: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 121: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 122: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 123: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 124: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 125: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 126: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,052 INFO L273 TraceCheckUtils]: 127: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 128: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 129: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 130: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 131: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 132: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 133: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 134: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 135: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 136: Hoare triple {37825#true} assume !(~i~0 < 20); {37825#true} is VALID [2018-11-23 12:16:27,053 INFO L273 TraceCheckUtils]: 137: Hoare triple {37825#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37825#true} is VALID [2018-11-23 12:16:27,054 INFO L273 TraceCheckUtils]: 138: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:16:27,054 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {37825#true} {37825#true} #72#return; {37825#true} is VALID [2018-11-23 12:16:27,054 INFO L273 TraceCheckUtils]: 140: Hoare triple {37825#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {37827#(= main_~i~2 0)} is VALID [2018-11-23 12:16:27,054 INFO L273 TraceCheckUtils]: 141: Hoare triple {37827#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37827#(= main_~i~2 0)} is VALID [2018-11-23 12:16:27,055 INFO L273 TraceCheckUtils]: 142: Hoare triple {37827#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37828#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:27,055 INFO L273 TraceCheckUtils]: 143: Hoare triple {37828#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37828#(<= main_~i~2 1)} is VALID [2018-11-23 12:16:27,056 INFO L273 TraceCheckUtils]: 144: Hoare triple {37828#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37829#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:27,056 INFO L273 TraceCheckUtils]: 145: Hoare triple {37829#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37829#(<= main_~i~2 2)} is VALID [2018-11-23 12:16:27,056 INFO L273 TraceCheckUtils]: 146: Hoare triple {37829#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37830#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:27,057 INFO L273 TraceCheckUtils]: 147: Hoare triple {37830#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37830#(<= main_~i~2 3)} is VALID [2018-11-23 12:16:27,057 INFO L273 TraceCheckUtils]: 148: Hoare triple {37830#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37831#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:27,058 INFO L273 TraceCheckUtils]: 149: Hoare triple {37831#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37831#(<= main_~i~2 4)} is VALID [2018-11-23 12:16:27,058 INFO L273 TraceCheckUtils]: 150: Hoare triple {37831#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37832#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:27,059 INFO L273 TraceCheckUtils]: 151: Hoare triple {37832#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37832#(<= main_~i~2 5)} is VALID [2018-11-23 12:16:27,060 INFO L273 TraceCheckUtils]: 152: Hoare triple {37832#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37833#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:27,060 INFO L273 TraceCheckUtils]: 153: Hoare triple {37833#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37833#(<= main_~i~2 6)} is VALID [2018-11-23 12:16:27,061 INFO L273 TraceCheckUtils]: 154: Hoare triple {37833#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37834#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:27,061 INFO L273 TraceCheckUtils]: 155: Hoare triple {37834#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37834#(<= main_~i~2 7)} is VALID [2018-11-23 12:16:27,062 INFO L273 TraceCheckUtils]: 156: Hoare triple {37834#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37835#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:27,063 INFO L273 TraceCheckUtils]: 157: Hoare triple {37835#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37835#(<= main_~i~2 8)} is VALID [2018-11-23 12:16:27,063 INFO L273 TraceCheckUtils]: 158: Hoare triple {37835#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37836#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:27,064 INFO L273 TraceCheckUtils]: 159: Hoare triple {37836#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37836#(<= main_~i~2 9)} is VALID [2018-11-23 12:16:27,065 INFO L273 TraceCheckUtils]: 160: Hoare triple {37836#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37837#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:27,065 INFO L273 TraceCheckUtils]: 161: Hoare triple {37837#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37837#(<= main_~i~2 10)} is VALID [2018-11-23 12:16:27,066 INFO L273 TraceCheckUtils]: 162: Hoare triple {37837#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37838#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:27,066 INFO L273 TraceCheckUtils]: 163: Hoare triple {37838#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37838#(<= main_~i~2 11)} is VALID [2018-11-23 12:16:27,067 INFO L273 TraceCheckUtils]: 164: Hoare triple {37838#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37839#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:27,068 INFO L273 TraceCheckUtils]: 165: Hoare triple {37839#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37839#(<= main_~i~2 12)} is VALID [2018-11-23 12:16:27,068 INFO L273 TraceCheckUtils]: 166: Hoare triple {37839#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37840#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:27,069 INFO L273 TraceCheckUtils]: 167: Hoare triple {37840#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37840#(<= main_~i~2 13)} is VALID [2018-11-23 12:16:27,070 INFO L273 TraceCheckUtils]: 168: Hoare triple {37840#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37841#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:27,070 INFO L273 TraceCheckUtils]: 169: Hoare triple {37841#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37841#(<= main_~i~2 14)} is VALID [2018-11-23 12:16:27,071 INFO L273 TraceCheckUtils]: 170: Hoare triple {37841#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37842#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:27,071 INFO L273 TraceCheckUtils]: 171: Hoare triple {37842#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37842#(<= main_~i~2 15)} is VALID [2018-11-23 12:16:27,072 INFO L273 TraceCheckUtils]: 172: Hoare triple {37842#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37843#(<= main_~i~2 16)} is VALID [2018-11-23 12:16:27,073 INFO L273 TraceCheckUtils]: 173: Hoare triple {37843#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37843#(<= main_~i~2 16)} is VALID [2018-11-23 12:16:27,073 INFO L273 TraceCheckUtils]: 174: Hoare triple {37843#(<= main_~i~2 16)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37844#(<= main_~i~2 17)} is VALID [2018-11-23 12:16:27,074 INFO L273 TraceCheckUtils]: 175: Hoare triple {37844#(<= main_~i~2 17)} assume !(~i~2 < 19); {37826#false} is VALID [2018-11-23 12:16:27,074 INFO L273 TraceCheckUtils]: 176: Hoare triple {37826#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {37826#false} is VALID [2018-11-23 12:16:27,074 INFO L256 TraceCheckUtils]: 177: Hoare triple {37826#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {37825#true} is VALID [2018-11-23 12:16:27,075 INFO L273 TraceCheckUtils]: 178: Hoare triple {37825#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37825#true} is VALID [2018-11-23 12:16:27,075 INFO L273 TraceCheckUtils]: 179: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,075 INFO L273 TraceCheckUtils]: 180: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,075 INFO L273 TraceCheckUtils]: 181: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,075 INFO L273 TraceCheckUtils]: 182: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 183: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 184: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 185: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 186: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 187: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,076 INFO L273 TraceCheckUtils]: 188: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 189: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 190: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 191: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 192: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 193: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,077 INFO L273 TraceCheckUtils]: 194: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 195: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 196: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 197: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 198: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 199: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 200: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,078 INFO L273 TraceCheckUtils]: 201: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 202: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 203: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 204: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 205: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 206: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 207: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 208: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 209: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 210: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,079 INFO L273 TraceCheckUtils]: 211: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 212: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 213: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 214: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 215: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 216: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 217: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 218: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 219: Hoare triple {37825#true} assume !(~i~0 < 20); {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 220: Hoare triple {37825#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37825#true} is VALID [2018-11-23 12:16:27,080 INFO L273 TraceCheckUtils]: 221: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:16:27,081 INFO L268 TraceCheckUtils]: 222: Hoare quadruple {37825#true} {37826#false} #74#return; {37826#false} is VALID [2018-11-23 12:16:27,081 INFO L273 TraceCheckUtils]: 223: Hoare triple {37826#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {37826#false} is VALID [2018-11-23 12:16:27,081 INFO L273 TraceCheckUtils]: 224: Hoare triple {37826#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37826#false} is VALID [2018-11-23 12:16:27,081 INFO L273 TraceCheckUtils]: 225: Hoare triple {37826#false} assume !false; {37826#false} is VALID [2018-11-23 12:16:27,099 INFO L134 CoverageAnalysis]: Checked inductivity of 4424 backedges. 0 proven. 289 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:16:27,099 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:27,099 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:16:27,107 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:17:01,214 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 42 check-sat command(s) [2018-11-23 12:17:01,215 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:01,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:01,286 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:01,793 INFO L256 TraceCheckUtils]: 0: Hoare triple {37825#true} call ULTIMATE.init(); {37825#true} is VALID [2018-11-23 12:17:01,793 INFO L273 TraceCheckUtils]: 1: Hoare triple {37825#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {37825#true} is VALID [2018-11-23 12:17:01,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:17:01,794 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {37825#true} {37825#true} #66#return; {37825#true} is VALID [2018-11-23 12:17:01,794 INFO L256 TraceCheckUtils]: 4: Hoare triple {37825#true} call #t~ret12 := main(); {37825#true} is VALID [2018-11-23 12:17:01,794 INFO L273 TraceCheckUtils]: 5: Hoare triple {37825#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {37825#true} is VALID [2018-11-23 12:17:01,794 INFO L273 TraceCheckUtils]: 6: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,795 INFO L273 TraceCheckUtils]: 7: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,795 INFO L273 TraceCheckUtils]: 8: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,795 INFO L273 TraceCheckUtils]: 9: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,795 INFO L273 TraceCheckUtils]: 10: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,795 INFO L273 TraceCheckUtils]: 11: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 12: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 13: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 14: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 15: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 16: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 17: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 18: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 19: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,796 INFO L273 TraceCheckUtils]: 20: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 21: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 22: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 23: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 24: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 25: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 26: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 27: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 28: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 29: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,797 INFO L273 TraceCheckUtils]: 30: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 31: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 32: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 33: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 34: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 35: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 36: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 37: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 38: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 39: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,798 INFO L273 TraceCheckUtils]: 40: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 41: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 42: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 43: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 44: Hoare triple {37825#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 45: Hoare triple {37825#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 46: Hoare triple {37825#true} assume !(~i~1 < 20); {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L256 TraceCheckUtils]: 47: Hoare triple {37825#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 48: Hoare triple {37825#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 49: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,799 INFO L273 TraceCheckUtils]: 50: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 51: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 52: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 53: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 54: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 55: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 56: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 57: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 58: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,800 INFO L273 TraceCheckUtils]: 59: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 60: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 61: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 62: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 63: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 64: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 65: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 66: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 67: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 68: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,801 INFO L273 TraceCheckUtils]: 69: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 70: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 71: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 72: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 73: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 74: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 75: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 76: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 77: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 78: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,802 INFO L273 TraceCheckUtils]: 79: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 80: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 81: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 82: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 83: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 84: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 85: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 86: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 87: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,803 INFO L273 TraceCheckUtils]: 88: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 89: Hoare triple {37825#true} assume !(~i~0 < 20); {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 90: Hoare triple {37825#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 91: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {37825#true} {37825#true} #70#return; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 93: Hoare triple {37825#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L256 TraceCheckUtils]: 94: Hoare triple {37825#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 95: Hoare triple {37825#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 96: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 97: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,804 INFO L273 TraceCheckUtils]: 98: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 99: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 100: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 101: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 102: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 103: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 104: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 105: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 106: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 107: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,805 INFO L273 TraceCheckUtils]: 108: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 109: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 110: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 111: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 112: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 113: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 114: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 115: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 116: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,806 INFO L273 TraceCheckUtils]: 117: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 118: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 119: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 120: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 121: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 122: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 123: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 124: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 125: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 126: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,807 INFO L273 TraceCheckUtils]: 127: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 128: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 129: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 130: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 131: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 132: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 133: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 134: Hoare triple {37825#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 135: Hoare triple {37825#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 136: Hoare triple {37825#true} assume !(~i~0 < 20); {37825#true} is VALID [2018-11-23 12:17:01,808 INFO L273 TraceCheckUtils]: 137: Hoare triple {37825#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37825#true} is VALID [2018-11-23 12:17:01,809 INFO L273 TraceCheckUtils]: 138: Hoare triple {37825#true} assume true; {37825#true} is VALID [2018-11-23 12:17:01,809 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {37825#true} {37825#true} #72#return; {37825#true} is VALID [2018-11-23 12:17:01,809 INFO L273 TraceCheckUtils]: 140: Hoare triple {37825#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {38268#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:01,810 INFO L273 TraceCheckUtils]: 141: Hoare triple {38268#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {38268#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:01,810 INFO L273 TraceCheckUtils]: 142: Hoare triple {38268#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37828#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:01,810 INFO L273 TraceCheckUtils]: 143: Hoare triple {37828#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37828#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:01,811 INFO L273 TraceCheckUtils]: 144: Hoare triple {37828#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37829#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:01,811 INFO L273 TraceCheckUtils]: 145: Hoare triple {37829#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37829#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:01,812 INFO L273 TraceCheckUtils]: 146: Hoare triple {37829#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37830#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:01,812 INFO L273 TraceCheckUtils]: 147: Hoare triple {37830#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37830#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:01,813 INFO L273 TraceCheckUtils]: 148: Hoare triple {37830#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37831#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:01,813 INFO L273 TraceCheckUtils]: 149: Hoare triple {37831#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37831#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:01,814 INFO L273 TraceCheckUtils]: 150: Hoare triple {37831#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37832#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:01,814 INFO L273 TraceCheckUtils]: 151: Hoare triple {37832#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37832#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:01,815 INFO L273 TraceCheckUtils]: 152: Hoare triple {37832#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37833#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:01,816 INFO L273 TraceCheckUtils]: 153: Hoare triple {37833#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37833#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:01,816 INFO L273 TraceCheckUtils]: 154: Hoare triple {37833#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37834#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:01,817 INFO L273 TraceCheckUtils]: 155: Hoare triple {37834#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37834#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:01,818 INFO L273 TraceCheckUtils]: 156: Hoare triple {37834#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37835#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:01,818 INFO L273 TraceCheckUtils]: 157: Hoare triple {37835#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37835#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:01,819 INFO L273 TraceCheckUtils]: 158: Hoare triple {37835#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37836#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:01,819 INFO L273 TraceCheckUtils]: 159: Hoare triple {37836#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37836#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:01,820 INFO L273 TraceCheckUtils]: 160: Hoare triple {37836#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37837#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:01,820 INFO L273 TraceCheckUtils]: 161: Hoare triple {37837#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37837#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:01,821 INFO L273 TraceCheckUtils]: 162: Hoare triple {37837#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37838#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:01,822 INFO L273 TraceCheckUtils]: 163: Hoare triple {37838#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37838#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:01,822 INFO L273 TraceCheckUtils]: 164: Hoare triple {37838#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37839#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:01,823 INFO L273 TraceCheckUtils]: 165: Hoare triple {37839#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37839#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:01,823 INFO L273 TraceCheckUtils]: 166: Hoare triple {37839#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37840#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:01,824 INFO L273 TraceCheckUtils]: 167: Hoare triple {37840#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37840#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:01,825 INFO L273 TraceCheckUtils]: 168: Hoare triple {37840#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37841#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:01,825 INFO L273 TraceCheckUtils]: 169: Hoare triple {37841#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37841#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:01,826 INFO L273 TraceCheckUtils]: 170: Hoare triple {37841#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37842#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:01,826 INFO L273 TraceCheckUtils]: 171: Hoare triple {37842#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37842#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:01,827 INFO L273 TraceCheckUtils]: 172: Hoare triple {37842#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37843#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:01,828 INFO L273 TraceCheckUtils]: 173: Hoare triple {37843#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {37843#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:01,828 INFO L273 TraceCheckUtils]: 174: Hoare triple {37843#(<= main_~i~2 16)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {37844#(<= main_~i~2 17)} is VALID [2018-11-23 12:17:01,829 INFO L273 TraceCheckUtils]: 175: Hoare triple {37844#(<= main_~i~2 17)} assume !(~i~2 < 19); {37826#false} is VALID [2018-11-23 12:17:01,829 INFO L273 TraceCheckUtils]: 176: Hoare triple {37826#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {37826#false} is VALID [2018-11-23 12:17:01,829 INFO L256 TraceCheckUtils]: 177: Hoare triple {37826#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {37826#false} is VALID [2018-11-23 12:17:01,830 INFO L273 TraceCheckUtils]: 178: Hoare triple {37826#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {37826#false} is VALID [2018-11-23 12:17:01,830 INFO L273 TraceCheckUtils]: 179: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,830 INFO L273 TraceCheckUtils]: 180: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,830 INFO L273 TraceCheckUtils]: 181: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,830 INFO L273 TraceCheckUtils]: 182: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 183: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 184: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 185: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 186: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 187: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,831 INFO L273 TraceCheckUtils]: 188: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 189: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 190: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 191: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 192: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 193: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 194: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 195: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,832 INFO L273 TraceCheckUtils]: 196: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 197: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 198: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 199: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 200: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 201: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 202: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 203: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 204: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 205: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,833 INFO L273 TraceCheckUtils]: 206: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 207: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 208: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 209: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 210: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 211: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 212: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 213: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 214: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,834 INFO L273 TraceCheckUtils]: 215: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 216: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 217: Hoare triple {37826#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 218: Hoare triple {37826#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 219: Hoare triple {37826#false} assume !(~i~0 < 20); {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 220: Hoare triple {37826#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 221: Hoare triple {37826#false} assume true; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L268 TraceCheckUtils]: 222: Hoare quadruple {37826#false} {37826#false} #74#return; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 223: Hoare triple {37826#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 224: Hoare triple {37826#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37826#false} is VALID [2018-11-23 12:17:01,835 INFO L273 TraceCheckUtils]: 225: Hoare triple {37826#false} assume !false; {37826#false} is VALID [2018-11-23 12:17:01,854 INFO L134 CoverageAnalysis]: Checked inductivity of 4424 backedges. 1690 proven. 289 refuted. 0 times theorem prover too weak. 2445 trivial. 0 not checked. [2018-11-23 12:17:01,884 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:01,884 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20] total 21 [2018-11-23 12:17:01,885 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 226 [2018-11-23 12:17:01,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:01,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 12:17:01,957 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:01,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 12:17:01,958 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 12:17:01,958 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:17:01,958 INFO L87 Difference]: Start difference. First operand 137 states and 141 transitions. Second operand 21 states. [2018-11-23 12:17:02,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,516 INFO L93 Difference]: Finished difference Result 191 states and 196 transitions. [2018-11-23 12:17:02,516 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-11-23 12:17:02,516 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 226 [2018-11-23 12:17:02,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:02,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:17:02,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2018-11-23 12:17:02,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 12:17:02,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 79 transitions. [2018-11-23 12:17:02,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 79 transitions. [2018-11-23 12:17:02,595 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:02,598 INFO L225 Difference]: With dead ends: 191 [2018-11-23 12:17:02,599 INFO L226 Difference]: Without dead ends: 140 [2018-11-23 12:17:02,599 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 226 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=210, Invalid=210, Unknown=0, NotChecked=0, Total=420 [2018-11-23 12:17:02,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2018-11-23 12:17:02,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 139. [2018-11-23 12:17:02,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:02,674 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 139 states. [2018-11-23 12:17:02,674 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 139 states. [2018-11-23 12:17:02,675 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 139 states. [2018-11-23 12:17:02,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,678 INFO L93 Difference]: Finished difference Result 140 states and 144 transitions. [2018-11-23 12:17:02,678 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 144 transitions. [2018-11-23 12:17:02,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,678 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 140 states. [2018-11-23 12:17:02,679 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 140 states. [2018-11-23 12:17:02,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,680 INFO L93 Difference]: Finished difference Result 140 states and 144 transitions. [2018-11-23 12:17:02,680 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 144 transitions. [2018-11-23 12:17:02,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:02,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:02,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2018-11-23 12:17:02,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 143 transitions. [2018-11-23 12:17:02,683 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 143 transitions. Word has length 226 [2018-11-23 12:17:02,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:02,683 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 143 transitions. [2018-11-23 12:17:02,683 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 12:17:02,683 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 143 transitions. [2018-11-23 12:17:02,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 229 [2018-11-23 12:17:02,684 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:02,685 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 18, 18, 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:17:02,685 INFO L423 AbstractCegarLoop]: === Iteration 46 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:02,685 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:02,685 INFO L82 PathProgramCache]: Analyzing trace with hash 1895759335, now seen corresponding path program 42 times [2018-11-23 12:17:02,685 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:02,685 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:02,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,686 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:02,686 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:03,304 INFO L256 TraceCheckUtils]: 0: Hoare triple {39294#true} call ULTIMATE.init(); {39294#true} is VALID [2018-11-23 12:17:03,304 INFO L273 TraceCheckUtils]: 1: Hoare triple {39294#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39294#true} is VALID [2018-11-23 12:17:03,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:03,304 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39294#true} {39294#true} #66#return; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L256 TraceCheckUtils]: 4: Hoare triple {39294#true} call #t~ret12 := main(); {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 5: Hoare triple {39294#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 6: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 7: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 8: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 9: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 10: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 11: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,305 INFO L273 TraceCheckUtils]: 12: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 13: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 14: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 15: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 16: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 17: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 18: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 19: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 20: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 21: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,306 INFO L273 TraceCheckUtils]: 22: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 23: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 24: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 25: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 26: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 27: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 28: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 29: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 30: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,307 INFO L273 TraceCheckUtils]: 31: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 32: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 33: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 34: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 35: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 36: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 37: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 38: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 39: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 40: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,308 INFO L273 TraceCheckUtils]: 41: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 42: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 43: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 44: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 45: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 46: Hoare triple {39294#true} assume !(~i~1 < 20); {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L256 TraceCheckUtils]: 47: Hoare triple {39294#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 48: Hoare triple {39294#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 49: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 50: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,309 INFO L273 TraceCheckUtils]: 51: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 52: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 53: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 54: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 55: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 56: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 57: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 58: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 59: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 60: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,310 INFO L273 TraceCheckUtils]: 61: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 62: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 63: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 64: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 65: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 66: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 67: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 68: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 69: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,311 INFO L273 TraceCheckUtils]: 70: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 71: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 72: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 73: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 74: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 75: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 76: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 77: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 78: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 79: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,312 INFO L273 TraceCheckUtils]: 80: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 81: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 82: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 83: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 84: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 85: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 86: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 87: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 88: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 89: Hoare triple {39294#true} assume !(~i~0 < 20); {39294#true} is VALID [2018-11-23 12:17:03,313 INFO L273 TraceCheckUtils]: 90: Hoare triple {39294#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 91: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {39294#true} {39294#true} #70#return; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 93: Hoare triple {39294#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L256 TraceCheckUtils]: 94: Hoare triple {39294#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 95: Hoare triple {39294#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 96: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 97: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 98: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,314 INFO L273 TraceCheckUtils]: 99: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 100: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 101: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 102: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 103: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 104: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 105: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 106: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 107: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 108: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,315 INFO L273 TraceCheckUtils]: 109: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 110: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 111: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 112: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 113: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 114: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 115: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 116: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 117: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 118: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,316 INFO L273 TraceCheckUtils]: 119: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 120: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 121: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 122: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 123: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 124: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 125: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 126: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 127: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 128: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,317 INFO L273 TraceCheckUtils]: 129: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 130: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 131: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 132: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 133: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 134: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 135: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 136: Hoare triple {39294#true} assume !(~i~0 < 20); {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 137: Hoare triple {39294#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39294#true} is VALID [2018-11-23 12:17:03,318 INFO L273 TraceCheckUtils]: 138: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:03,319 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {39294#true} {39294#true} #72#return; {39294#true} is VALID [2018-11-23 12:17:03,321 INFO L273 TraceCheckUtils]: 140: Hoare triple {39294#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {39296#(= main_~i~2 0)} is VALID [2018-11-23 12:17:03,323 INFO L273 TraceCheckUtils]: 141: Hoare triple {39296#(= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39296#(= main_~i~2 0)} is VALID [2018-11-23 12:17:03,323 INFO L273 TraceCheckUtils]: 142: Hoare triple {39296#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39297#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:03,325 INFO L273 TraceCheckUtils]: 143: Hoare triple {39297#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39297#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:03,325 INFO L273 TraceCheckUtils]: 144: Hoare triple {39297#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39298#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:03,327 INFO L273 TraceCheckUtils]: 145: Hoare triple {39298#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39298#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:03,327 INFO L273 TraceCheckUtils]: 146: Hoare triple {39298#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39299#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:03,329 INFO L273 TraceCheckUtils]: 147: Hoare triple {39299#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39299#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:03,329 INFO L273 TraceCheckUtils]: 148: Hoare triple {39299#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39300#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:03,331 INFO L273 TraceCheckUtils]: 149: Hoare triple {39300#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39300#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:03,331 INFO L273 TraceCheckUtils]: 150: Hoare triple {39300#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39301#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:03,334 INFO L273 TraceCheckUtils]: 151: Hoare triple {39301#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39301#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:03,334 INFO L273 TraceCheckUtils]: 152: Hoare triple {39301#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39302#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:03,336 INFO L273 TraceCheckUtils]: 153: Hoare triple {39302#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39302#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:03,336 INFO L273 TraceCheckUtils]: 154: Hoare triple {39302#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39303#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:03,338 INFO L273 TraceCheckUtils]: 155: Hoare triple {39303#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39303#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:03,338 INFO L273 TraceCheckUtils]: 156: Hoare triple {39303#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39304#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:03,340 INFO L273 TraceCheckUtils]: 157: Hoare triple {39304#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39304#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:03,342 INFO L273 TraceCheckUtils]: 158: Hoare triple {39304#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39305#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:03,344 INFO L273 TraceCheckUtils]: 159: Hoare triple {39305#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39305#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:03,344 INFO L273 TraceCheckUtils]: 160: Hoare triple {39305#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39306#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:03,347 INFO L273 TraceCheckUtils]: 161: Hoare triple {39306#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39306#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:03,347 INFO L273 TraceCheckUtils]: 162: Hoare triple {39306#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39307#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:03,349 INFO L273 TraceCheckUtils]: 163: Hoare triple {39307#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39307#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:03,349 INFO L273 TraceCheckUtils]: 164: Hoare triple {39307#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39308#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:03,351 INFO L273 TraceCheckUtils]: 165: Hoare triple {39308#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39308#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:03,351 INFO L273 TraceCheckUtils]: 166: Hoare triple {39308#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39309#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:03,353 INFO L273 TraceCheckUtils]: 167: Hoare triple {39309#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39309#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:03,353 INFO L273 TraceCheckUtils]: 168: Hoare triple {39309#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39310#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:03,355 INFO L273 TraceCheckUtils]: 169: Hoare triple {39310#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39310#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:03,355 INFO L273 TraceCheckUtils]: 170: Hoare triple {39310#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39311#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:03,357 INFO L273 TraceCheckUtils]: 171: Hoare triple {39311#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39311#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:03,357 INFO L273 TraceCheckUtils]: 172: Hoare triple {39311#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39312#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:03,359 INFO L273 TraceCheckUtils]: 173: Hoare triple {39312#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39312#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:03,359 INFO L273 TraceCheckUtils]: 174: Hoare triple {39312#(<= main_~i~2 16)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39313#(<= main_~i~2 17)} is VALID [2018-11-23 12:17:03,361 INFO L273 TraceCheckUtils]: 175: Hoare triple {39313#(<= main_~i~2 17)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39313#(<= main_~i~2 17)} is VALID [2018-11-23 12:17:03,361 INFO L273 TraceCheckUtils]: 176: Hoare triple {39313#(<= main_~i~2 17)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39314#(<= main_~i~2 18)} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 177: Hoare triple {39314#(<= main_~i~2 18)} assume !(~i~2 < 19); {39295#false} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 178: Hoare triple {39295#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {39295#false} is VALID [2018-11-23 12:17:03,363 INFO L256 TraceCheckUtils]: 179: Hoare triple {39295#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 180: Hoare triple {39294#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 181: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 182: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 183: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 184: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,363 INFO L273 TraceCheckUtils]: 185: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 186: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 187: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 188: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 189: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 190: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 191: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 192: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 193: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,364 INFO L273 TraceCheckUtils]: 194: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 195: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 196: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 197: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 198: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 199: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 200: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 201: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 202: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 203: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,365 INFO L273 TraceCheckUtils]: 204: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 205: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 206: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 207: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 208: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 209: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 210: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 211: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 212: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 213: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,366 INFO L273 TraceCheckUtils]: 214: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 215: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 216: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 217: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 218: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 219: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 220: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 221: Hoare triple {39294#true} assume !(~i~0 < 20); {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 222: Hoare triple {39294#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39294#true} is VALID [2018-11-23 12:17:03,367 INFO L273 TraceCheckUtils]: 223: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:03,368 INFO L268 TraceCheckUtils]: 224: Hoare quadruple {39294#true} {39295#false} #74#return; {39295#false} is VALID [2018-11-23 12:17:03,368 INFO L273 TraceCheckUtils]: 225: Hoare triple {39295#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {39295#false} is VALID [2018-11-23 12:17:03,368 INFO L273 TraceCheckUtils]: 226: Hoare triple {39295#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39295#false} is VALID [2018-11-23 12:17:03,368 INFO L273 TraceCheckUtils]: 227: Hoare triple {39295#false} assume !false; {39295#false} is VALID [2018-11-23 12:17:03,386 INFO L134 CoverageAnalysis]: Checked inductivity of 4459 backedges. 0 proven. 324 refuted. 0 times theorem prover too weak. 4135 trivial. 0 not checked. [2018-11-23 12:17:03,387 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:03,387 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:17:03,397 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:17:07,906 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 39 check-sat command(s) [2018-11-23 12:17:07,906 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:07,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:07,956 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:08,342 INFO L256 TraceCheckUtils]: 0: Hoare triple {39294#true} call ULTIMATE.init(); {39294#true} is VALID [2018-11-23 12:17:08,342 INFO L273 TraceCheckUtils]: 1: Hoare triple {39294#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39294#true} is VALID [2018-11-23 12:17:08,342 INFO L273 TraceCheckUtils]: 2: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:08,342 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39294#true} {39294#true} #66#return; {39294#true} is VALID [2018-11-23 12:17:08,342 INFO L256 TraceCheckUtils]: 4: Hoare triple {39294#true} call #t~ret12 := main(); {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 5: Hoare triple {39294#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 6: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 7: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 8: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 9: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 10: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 11: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 12: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,343 INFO L273 TraceCheckUtils]: 13: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 14: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 15: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 16: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 17: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 18: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 19: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 20: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 21: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 22: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,344 INFO L273 TraceCheckUtils]: 23: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 24: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 25: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 26: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 27: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 28: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 29: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 30: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 31: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 32: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,345 INFO L273 TraceCheckUtils]: 33: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 34: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 35: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 36: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 37: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 38: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 39: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 40: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 41: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,346 INFO L273 TraceCheckUtils]: 42: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39294#true} is VALID [2018-11-23 12:17:08,347 INFO L273 TraceCheckUtils]: 43: Hoare triple {39294#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39294#true} is VALID [2018-11-23 12:17:08,348 INFO L273 TraceCheckUtils]: 44: Hoare triple {39294#true} assume !!(~i~1 < 20);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {39450#(< main_~i~1 20)} is VALID [2018-11-23 12:17:08,348 INFO L273 TraceCheckUtils]: 45: Hoare triple {39450#(< main_~i~1 20)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {39454#(<= main_~i~1 20)} is VALID [2018-11-23 12:17:08,348 INFO L273 TraceCheckUtils]: 46: Hoare triple {39454#(<= main_~i~1 20)} assume !(~i~1 < 20); {39294#true} is VALID [2018-11-23 12:17:08,348 INFO L256 TraceCheckUtils]: 47: Hoare triple {39294#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {39294#true} is VALID [2018-11-23 12:17:08,348 INFO L273 TraceCheckUtils]: 48: Hoare triple {39294#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 49: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 50: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 51: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 52: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 53: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 54: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 55: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 56: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 57: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,349 INFO L273 TraceCheckUtils]: 58: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 59: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 60: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 61: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 62: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 63: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 64: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 65: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 66: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 67: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,350 INFO L273 TraceCheckUtils]: 68: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 69: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 70: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 71: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 72: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 73: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 74: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 75: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 76: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,351 INFO L273 TraceCheckUtils]: 77: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 78: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 79: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 80: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 81: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 82: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 83: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 84: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 85: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 86: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,352 INFO L273 TraceCheckUtils]: 87: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 88: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 89: Hoare triple {39294#true} assume !(~i~0 < 20); {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 90: Hoare triple {39294#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 91: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {39294#true} {39294#true} #70#return; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 93: Hoare triple {39294#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647;~ret~1 := #t~ret4;havoc #t~ret4;call #t~mem5 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#x~0.base, 4 + ~#x~0.offset, 4);call write~int(#t~mem6, ~#x~0.base, ~#x~0.offset, 4);havoc #t~mem6;call write~int(~temp~0, ~#x~0.base, 4 + ~#x~0.offset, 4); {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L256 TraceCheckUtils]: 94: Hoare triple {39294#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 95: Hoare triple {39294#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 96: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,353 INFO L273 TraceCheckUtils]: 97: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 98: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 99: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 100: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 101: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 102: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 103: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 104: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 105: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 106: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,354 INFO L273 TraceCheckUtils]: 107: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 108: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 109: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 110: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 111: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 112: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 113: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 114: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 115: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 116: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,355 INFO L273 TraceCheckUtils]: 117: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 118: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 119: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 120: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 121: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 122: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 123: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 124: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 125: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 126: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,356 INFO L273 TraceCheckUtils]: 127: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 128: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 129: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 130: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 131: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 132: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 133: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 134: Hoare triple {39294#true} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 135: Hoare triple {39294#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 136: Hoare triple {39294#true} assume !(~i~0 < 20); {39294#true} is VALID [2018-11-23 12:17:08,357 INFO L273 TraceCheckUtils]: 137: Hoare triple {39294#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39294#true} is VALID [2018-11-23 12:17:08,358 INFO L273 TraceCheckUtils]: 138: Hoare triple {39294#true} assume true; {39294#true} is VALID [2018-11-23 12:17:08,358 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {39294#true} {39294#true} #72#return; {39294#true} is VALID [2018-11-23 12:17:08,359 INFO L273 TraceCheckUtils]: 140: Hoare triple {39294#true} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~ret2~0 := #t~ret7;havoc #t~ret7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset, 4);~temp~0 := #t~mem8;havoc #t~mem8;~i~2 := 0; {39740#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:08,359 INFO L273 TraceCheckUtils]: 141: Hoare triple {39740#(<= main_~i~2 0)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39740#(<= main_~i~2 0)} is VALID [2018-11-23 12:17:08,361 INFO L273 TraceCheckUtils]: 142: Hoare triple {39740#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39297#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:08,361 INFO L273 TraceCheckUtils]: 143: Hoare triple {39297#(<= main_~i~2 1)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39297#(<= main_~i~2 1)} is VALID [2018-11-23 12:17:08,363 INFO L273 TraceCheckUtils]: 144: Hoare triple {39297#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39298#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:08,363 INFO L273 TraceCheckUtils]: 145: Hoare triple {39298#(<= main_~i~2 2)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39298#(<= main_~i~2 2)} is VALID [2018-11-23 12:17:08,365 INFO L273 TraceCheckUtils]: 146: Hoare triple {39298#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39299#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:08,365 INFO L273 TraceCheckUtils]: 147: Hoare triple {39299#(<= main_~i~2 3)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39299#(<= main_~i~2 3)} is VALID [2018-11-23 12:17:08,368 INFO L273 TraceCheckUtils]: 148: Hoare triple {39299#(<= main_~i~2 3)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39300#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:08,368 INFO L273 TraceCheckUtils]: 149: Hoare triple {39300#(<= main_~i~2 4)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39300#(<= main_~i~2 4)} is VALID [2018-11-23 12:17:08,370 INFO L273 TraceCheckUtils]: 150: Hoare triple {39300#(<= main_~i~2 4)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39301#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:08,370 INFO L273 TraceCheckUtils]: 151: Hoare triple {39301#(<= main_~i~2 5)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39301#(<= main_~i~2 5)} is VALID [2018-11-23 12:17:08,373 INFO L273 TraceCheckUtils]: 152: Hoare triple {39301#(<= main_~i~2 5)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39302#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:08,373 INFO L273 TraceCheckUtils]: 153: Hoare triple {39302#(<= main_~i~2 6)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39302#(<= main_~i~2 6)} is VALID [2018-11-23 12:17:08,375 INFO L273 TraceCheckUtils]: 154: Hoare triple {39302#(<= main_~i~2 6)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39303#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:08,375 INFO L273 TraceCheckUtils]: 155: Hoare triple {39303#(<= main_~i~2 7)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39303#(<= main_~i~2 7)} is VALID [2018-11-23 12:17:08,377 INFO L273 TraceCheckUtils]: 156: Hoare triple {39303#(<= main_~i~2 7)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39304#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:08,377 INFO L273 TraceCheckUtils]: 157: Hoare triple {39304#(<= main_~i~2 8)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39304#(<= main_~i~2 8)} is VALID [2018-11-23 12:17:08,379 INFO L273 TraceCheckUtils]: 158: Hoare triple {39304#(<= main_~i~2 8)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39305#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:08,379 INFO L273 TraceCheckUtils]: 159: Hoare triple {39305#(<= main_~i~2 9)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39305#(<= main_~i~2 9)} is VALID [2018-11-23 12:17:08,381 INFO L273 TraceCheckUtils]: 160: Hoare triple {39305#(<= main_~i~2 9)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39306#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:08,381 INFO L273 TraceCheckUtils]: 161: Hoare triple {39306#(<= main_~i~2 10)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39306#(<= main_~i~2 10)} is VALID [2018-11-23 12:17:08,383 INFO L273 TraceCheckUtils]: 162: Hoare triple {39306#(<= main_~i~2 10)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39307#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:08,383 INFO L273 TraceCheckUtils]: 163: Hoare triple {39307#(<= main_~i~2 11)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39307#(<= main_~i~2 11)} is VALID [2018-11-23 12:17:08,385 INFO L273 TraceCheckUtils]: 164: Hoare triple {39307#(<= main_~i~2 11)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39308#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:08,385 INFO L273 TraceCheckUtils]: 165: Hoare triple {39308#(<= main_~i~2 12)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39308#(<= main_~i~2 12)} is VALID [2018-11-23 12:17:08,388 INFO L273 TraceCheckUtils]: 166: Hoare triple {39308#(<= main_~i~2 12)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39309#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:08,388 INFO L273 TraceCheckUtils]: 167: Hoare triple {39309#(<= main_~i~2 13)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39309#(<= main_~i~2 13)} is VALID [2018-11-23 12:17:08,391 INFO L273 TraceCheckUtils]: 168: Hoare triple {39309#(<= main_~i~2 13)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39310#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:08,391 INFO L273 TraceCheckUtils]: 169: Hoare triple {39310#(<= main_~i~2 14)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39310#(<= main_~i~2 14)} is VALID [2018-11-23 12:17:08,394 INFO L273 TraceCheckUtils]: 170: Hoare triple {39310#(<= main_~i~2 14)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39311#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:08,394 INFO L273 TraceCheckUtils]: 171: Hoare triple {39311#(<= main_~i~2 15)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39311#(<= main_~i~2 15)} is VALID [2018-11-23 12:17:08,397 INFO L273 TraceCheckUtils]: 172: Hoare triple {39311#(<= main_~i~2 15)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39312#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:08,397 INFO L273 TraceCheckUtils]: 173: Hoare triple {39312#(<= main_~i~2 16)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39312#(<= main_~i~2 16)} is VALID [2018-11-23 12:17:08,399 INFO L273 TraceCheckUtils]: 174: Hoare triple {39312#(<= main_~i~2 16)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39313#(<= main_~i~2 17)} is VALID [2018-11-23 12:17:08,399 INFO L273 TraceCheckUtils]: 175: Hoare triple {39313#(<= main_~i~2 17)} assume !!(~i~2 < 19);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {39313#(<= main_~i~2 17)} is VALID [2018-11-23 12:17:08,401 INFO L273 TraceCheckUtils]: 176: Hoare triple {39313#(<= main_~i~2 17)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {39314#(<= main_~i~2 18)} is VALID [2018-11-23 12:17:08,401 INFO L273 TraceCheckUtils]: 177: Hoare triple {39314#(<= main_~i~2 18)} assume !(~i~2 < 19); {39295#false} is VALID [2018-11-23 12:17:08,401 INFO L273 TraceCheckUtils]: 178: Hoare triple {39295#false} call write~int(~temp~0, ~#x~0.base, 76 + ~#x~0.offset, 4); {39295#false} is VALID [2018-11-23 12:17:08,401 INFO L256 TraceCheckUtils]: 179: Hoare triple {39295#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {39295#false} is VALID [2018-11-23 12:17:08,401 INFO L273 TraceCheckUtils]: 180: Hoare triple {39295#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39295#false} is VALID [2018-11-23 12:17:08,401 INFO L273 TraceCheckUtils]: 181: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 182: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 183: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 184: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 185: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 186: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 187: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 188: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 189: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,402 INFO L273 TraceCheckUtils]: 190: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 191: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 192: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 193: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 194: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 195: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 196: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 197: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 198: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 199: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,403 INFO L273 TraceCheckUtils]: 200: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 201: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 202: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 203: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 204: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 205: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 206: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 207: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 208: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 209: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,404 INFO L273 TraceCheckUtils]: 210: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 211: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 212: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 213: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 214: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 215: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 216: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 217: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 218: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 219: Hoare triple {39295#false} assume !!(~i~0 < 20);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {39295#false} is VALID [2018-11-23 12:17:08,405 INFO L273 TraceCheckUtils]: 220: Hoare triple {39295#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 221: Hoare triple {39295#false} assume !(~i~0 < 20); {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 222: Hoare triple {39295#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 20 then 1 + ~ret~0 / 20 else ~ret~0 / 20) % 4294967296 - 4294967296); {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 223: Hoare triple {39295#false} assume true; {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L268 TraceCheckUtils]: 224: Hoare quadruple {39295#false} {39295#false} #74#return; {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 225: Hoare triple {39295#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 226: Hoare triple {39295#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {39295#false} is VALID [2018-11-23 12:17:08,406 INFO L273 TraceCheckUtils]: 227: Hoare triple {39295#false} assume !false; {39295#false} is VALID [2018-11-23 12:17:08,425 INFO L134 CoverageAnalysis]: Checked inductivity of 4459 backedges. 1729 proven. 324 refuted. 0 times theorem prover too weak. 2406 trivial. 0 not checked. [2018-11-23 12:17:08,448 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:08,448 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 23] total 24 [2018-11-23 12:17:08,449 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 228 [2018-11-23 12:17:08,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:08,449 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 12:17:08,547 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:08,547 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 12:17:08,547 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 12:17:08,547 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2018-11-23 12:17:08,547 INFO L87 Difference]: Start difference. First operand 139 states and 143 transitions. Second operand 24 states. [2018-11-23 12:17:09,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:09,693 INFO L93 Difference]: Finished difference Result 192 states and 197 transitions. [2018-11-23 12:17:09,693 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2018-11-23 12:17:09,693 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 228 [2018-11-23 12:17:09,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:09,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:09,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 81 transitions. [2018-11-23 12:17:09,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 12:17:09,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 81 transitions. [2018-11-23 12:17:09,695 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 81 transitions. [2018-11-23 12:17:09,801 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:17:09,804 INFO L225 Difference]: With dead ends: 192 [2018-11-23 12:17:09,805 INFO L226 Difference]: Without dead ends: 141 [2018-11-23 12:17:09,806 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 267 GetRequests, 226 SyntacticMatches, 0 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 259 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=655, Invalid=1151, Unknown=0, NotChecked=0, Total=1806 [2018-11-23 12:17:09,806 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2018-11-23 12:17:09,910 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 141. [2018-11-23 12:17:09,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:09,911 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand 141 states. [2018-11-23 12:17:09,911 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 141 states. [2018-11-23 12:17:09,911 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 141 states. [2018-11-23 12:17:09,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:09,913 INFO L93 Difference]: Finished difference Result 141 states and 145 transitions. [2018-11-23 12:17:09,913 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 145 transitions. [2018-11-23 12:17:09,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:09,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:09,913 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 141 states. [2018-11-23 12:17:09,913 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 141 states. [2018-11-23 12:17:09,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:09,915 INFO L93 Difference]: Finished difference Result 141 states and 145 transitions. [2018-11-23 12:17:09,915 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 145 transitions. [2018-11-23 12:17:09,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:09,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:09,916 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:09,916 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:09,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 141 states. [2018-11-23 12:17:09,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 145 transitions. [2018-11-23 12:17:09,918 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 145 transitions. Word has length 228 [2018-11-23 12:17:09,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:09,918 INFO L480 AbstractCegarLoop]: Abstraction has 141 states and 145 transitions. [2018-11-23 12:17:09,918 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 12:17:09,918 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 145 transitions. [2018-11-23 12:17:09,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 231 [2018-11-23 12:17:09,919 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:09,919 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 20, 20, 19, 19, 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:17:09,919 INFO L423 AbstractCegarLoop]: === Iteration 47 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:09,919 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:09,919 INFO L82 PathProgramCache]: Analyzing trace with hash 93195877, now seen corresponding path program 43 times [2018-11-23 12:17:09,919 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:09,920 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:09,920 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:09,920 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:09,920 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:19,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat