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/avg05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:14:01,736 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:14:01,738 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:14:01,751 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:14:01,751 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:14:01,752 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:14:01,753 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:14:01,756 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:14:01,758 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:14:01,759 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:14:01,760 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:14:01,760 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:14:01,761 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:14:01,762 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:14:01,763 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:14:01,764 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:14:01,765 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:14:01,767 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:14:01,769 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:14:01,771 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:14:01,773 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:14:01,774 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:14:01,777 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:14:01,777 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:14:01,777 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:14:01,778 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:14:01,779 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:14:01,780 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:14:01,781 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:14:01,783 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:14:01,783 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:14:01,784 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:14:01,784 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:14:01,784 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:14:01,785 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:14:01,786 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:14:01,787 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:01,803 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:14:01,803 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:14:01,804 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:14:01,804 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:14:01,805 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:14:01,805 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:14:01,806 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:14:01,806 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:14:01,806 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:14:01,806 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:14:01,810 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:14:01,810 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:14:01,810 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:14:01,810 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:14:01,811 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:14:01,811 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:14:01,811 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:14:01,811 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:14:01,811 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:14:01,815 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:14:01,815 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:14:01,815 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:14:01,816 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:14:01,816 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:14:01,816 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:14:01,816 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:14:01,816 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:14:01,817 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:14:01,817 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:14:01,817 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:14:01,817 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:14:01,881 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:14:01,901 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:14:01,906 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:14:01,908 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:14:01,909 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:14:01,909 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/avg05_true-unreach-call_true-termination.i [2018-11-23 12:14:01,966 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1027054a/44477dc86c6648d7b2499c9ddcbc2ced/FLAG4b79e9a4d [2018-11-23 12:14:02,435 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:14:02,438 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/avg05_true-unreach-call_true-termination.i [2018-11-23 12:14:02,447 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1027054a/44477dc86c6648d7b2499c9ddcbc2ced/FLAG4b79e9a4d [2018-11-23 12:14:02,795 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1027054a/44477dc86c6648d7b2499c9ddcbc2ced [2018-11-23 12:14:02,805 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:14:02,807 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:14:02,808 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:14:02,808 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:14:02,813 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:14:02,815 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:14:02" (1/1) ... [2018-11-23 12:14:02,819 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@35f4de0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:02, skipping insertion in model container [2018-11-23 12:14:02,820 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:14:02" (1/1) ... [2018-11-23 12:14:02,833 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:14:02,863 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:14:03,164 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:14:03,178 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:14:03,205 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:14:03,220 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:14:03,220 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:03 WrapperNode [2018-11-23 12:14:03,220 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:14:03,221 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:14:03,221 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:14:03,221 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:14:03,231 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:03" (1/1) ... [2018-11-23 12:14:03,241 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:03" (1/1) ... [2018-11-23 12:14:03,248 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:14:03,249 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:14:03,249 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:14:03,249 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:14:03,258 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:03" (1/1) ... [2018-11-23 12:14:03,258 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:03" (1/1) ... [2018-11-23 12:14:03,261 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:03" (1/1) ... [2018-11-23 12:14:03,261 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:03" (1/1) ... [2018-11-23 12:14:03,274 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:03" (1/1) ... [2018-11-23 12:14:03,281 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:03" (1/1) ... [2018-11-23 12:14:03,283 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:03" (1/1) ... [2018-11-23 12:14:03,288 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:14:03,289 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:14:03,289 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:14:03,289 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:14:03,290 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:03" (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:03,412 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:14:03,413 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:14:03,413 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:14:03,413 INFO L130 BoogieDeclarations]: Found specification of procedure avg [2018-11-23 12:14:03,413 INFO L138 BoogieDeclarations]: Found implementation of procedure avg [2018-11-23 12:14:03,413 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:14:03,413 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:14:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:14:03,414 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:14:03,414 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:14:03,414 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:14:03,414 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:14:04,142 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:14:04,142 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:14:04,143 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:14:04 BoogieIcfgContainer [2018-11-23 12:14:04,143 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:14:04,144 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:14:04,145 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:14:04,148 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:14:04,149 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:14:02" (1/3) ... [2018-11-23 12:14:04,150 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70cfa93b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:14:04, skipping insertion in model container [2018-11-23 12:14:04,150 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:14:03" (2/3) ... [2018-11-23 12:14:04,151 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70cfa93b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:14:04, skipping insertion in model container [2018-11-23 12:14:04,151 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:14:04" (3/3) ... [2018-11-23 12:14:04,155 INFO L112 eAbstractionObserver]: Analyzing ICFG avg05_true-unreach-call_true-termination.i [2018-11-23 12:14:04,167 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:14:04,179 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:14:04,201 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:14:04,232 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:14:04,233 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:14:04,233 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:14:04,233 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:14:04,233 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:14:04,234 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:14:04,234 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:14:04,234 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:14:04,234 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:14:04,252 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 12:14:04,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:14:04,260 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:04,261 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:04,264 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:04,270 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:04,271 INFO L82 PathProgramCache]: Analyzing trace with hash -1283808693, now seen corresponding path program 1 times [2018-11-23 12:14:04,273 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:04,273 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:04,322 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:04,323 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:04,323 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:04,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:04,488 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 12:14:04,492 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:04,493 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:04,494 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #66#return; {34#true} is VALID [2018-11-23 12:14:04,494 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret12 := main(); {34#true} is VALID [2018-11-23 12:14:04,494 INFO L273 TraceCheckUtils]: 5: Hoare triple {34#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {34#true} is VALID [2018-11-23 12:14:04,497 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2018-11-23 12:14:04,497 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:04,498 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:04,498 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#true} assume !(~i~0 < 5); {34#true} is VALID [2018-11-23 12:14:04,498 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:04,499 INFO L273 TraceCheckUtils]: 11: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:04,499 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {34#true} {35#false} #70#return; {35#false} is VALID [2018-11-23 12:14:04,499 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:04,500 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:04,500 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:04,500 INFO L273 TraceCheckUtils]: 16: Hoare triple {34#true} assume !(~i~0 < 5); {34#true} is VALID [2018-11-23 12:14:04,500 INFO L273 TraceCheckUtils]: 17: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:04,501 INFO L273 TraceCheckUtils]: 18: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:04,501 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {34#true} {35#false} #72#return; {35#false} is VALID [2018-11-23 12:14:04,501 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:04,502 INFO L273 TraceCheckUtils]: 21: Hoare triple {35#false} assume !true; {35#false} is VALID [2018-11-23 12:14:04,502 INFO L273 TraceCheckUtils]: 22: Hoare triple {35#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {35#false} is VALID [2018-11-23 12:14:04,502 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:04,503 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:04,503 INFO L273 TraceCheckUtils]: 25: Hoare triple {34#true} assume !(~i~0 < 5); {34#true} is VALID [2018-11-23 12:14:04,503 INFO L273 TraceCheckUtils]: 26: Hoare triple {34#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:14:04,504 INFO L273 TraceCheckUtils]: 27: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:14:04,504 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {34#true} {35#false} #74#return; {35#false} is VALID [2018-11-23 12:14:04,504 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:04,505 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:04,505 INFO L273 TraceCheckUtils]: 31: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 12:14:04,512 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:04,515 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:04,515 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:14:04,521 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:14:04,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:04,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:14:04,806 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:04,807 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:14:04,815 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:14:04,815 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:14:04,818 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 2 states. [2018-11-23 12:14:04,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:04,954 INFO L93 Difference]: Finished difference Result 54 states and 71 transitions. [2018-11-23 12:14:04,954 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:14:04,954 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:14:04,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:04,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:14:04,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:14:04,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:14:04,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:14:04,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2018-11-23 12:14:05,256 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:05,268 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:14:05,269 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:14:05,273 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:05,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:14:05,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2018-11-23 12:14:05,355 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:05,355 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:05,356 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:05,356 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:05,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:05,363 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:14:05,363 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:05,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:05,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:05,364 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:05,364 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:14:05,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:05,370 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:14:05,370 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:05,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:05,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:05,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:05,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:05,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:14:05,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 30 transitions. [2018-11-23 12:14:05,377 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 30 transitions. Word has length 32 [2018-11-23 12:14:05,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:05,378 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 30 transitions. [2018-11-23 12:14:05,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:14:05,378 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:14:05,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:14:05,380 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:05,380 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:05,381 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:05,381 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:05,381 INFO L82 PathProgramCache]: Analyzing trace with hash 721846027, now seen corresponding path program 1 times [2018-11-23 12:14:05,381 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:05,382 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:05,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:05,383 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:05,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:05,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:05,494 INFO L256 TraceCheckUtils]: 0: Hoare triple {198#true} call ULTIMATE.init(); {198#true} is VALID [2018-11-23 12:14:05,495 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:05,495 INFO L273 TraceCheckUtils]: 2: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:05,495 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {198#true} {198#true} #66#return; {198#true} is VALID [2018-11-23 12:14:05,495 INFO L256 TraceCheckUtils]: 4: Hoare triple {198#true} call #t~ret12 := main(); {198#true} is VALID [2018-11-23 12:14:05,496 INFO L273 TraceCheckUtils]: 5: Hoare triple {198#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:05,501 INFO L273 TraceCheckUtils]: 6: Hoare triple {200#(= main_~i~1 0)} assume !(~i~1 < 5); {199#false} is VALID [2018-11-23 12:14:05,501 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:05,502 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:05,502 INFO L273 TraceCheckUtils]: 9: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:14:05,502 INFO L273 TraceCheckUtils]: 10: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:05,502 INFO L273 TraceCheckUtils]: 11: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:05,503 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {198#true} {199#false} #70#return; {199#false} is VALID [2018-11-23 12:14:05,503 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:05,503 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:05,503 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:05,504 INFO L273 TraceCheckUtils]: 16: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:14:05,504 INFO L273 TraceCheckUtils]: 17: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:05,504 INFO L273 TraceCheckUtils]: 18: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:05,505 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {198#true} {199#false} #72#return; {199#false} is VALID [2018-11-23 12:14:05,505 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:05,505 INFO L273 TraceCheckUtils]: 21: Hoare triple {199#false} assume !(~i~2 < 4); {199#false} is VALID [2018-11-23 12:14:05,506 INFO L273 TraceCheckUtils]: 22: Hoare triple {199#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {199#false} is VALID [2018-11-23 12:14:05,506 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:05,506 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:05,507 INFO L273 TraceCheckUtils]: 25: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:14:05,507 INFO L273 TraceCheckUtils]: 26: Hoare triple {198#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:14:05,507 INFO L273 TraceCheckUtils]: 27: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:14:05,508 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {198#true} {199#false} #74#return; {199#false} is VALID [2018-11-23 12:14:05,508 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:05,508 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:05,509 INFO L273 TraceCheckUtils]: 31: Hoare triple {199#false} assume !false; {199#false} is VALID [2018-11-23 12:14:05,511 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:05,511 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:05,512 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:14:05,513 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:14:05,514 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:05,514 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:14:05,586 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:05,586 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:14:05,587 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:14:05,587 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:05,588 INFO L87 Difference]: Start difference. First operand 26 states and 30 transitions. Second operand 3 states. [2018-11-23 12:14:06,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:06,150 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-23 12:14:06,150 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:06,150 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:14:06,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:06,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:06,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:14:06,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:06,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:14:06,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-23 12:14:06,322 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:06,324 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:14:06,325 INFO L226 Difference]: Without dead ends: 28 [2018-11-23 12:14:06,326 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:06,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-23 12:14:06,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2018-11-23 12:14:06,349 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:06,349 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:06,349 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:06,350 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 27 states. [2018-11-23 12:14:06,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:06,354 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:14:06,354 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:06,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:06,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:06,355 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 28 states. [2018-11-23 12:14:06,355 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 28 states. [2018-11-23 12:14:06,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:06,359 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:14:06,359 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:06,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:06,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:06,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:06,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:06,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:14:06,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2018-11-23 12:14:06,363 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 32 [2018-11-23 12:14:06,364 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:06,364 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2018-11-23 12:14:06,364 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:14:06,364 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 12:14:06,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:14:06,366 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:06,366 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:06,366 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:06,367 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:06,367 INFO L82 PathProgramCache]: Analyzing trace with hash 1487444845, now seen corresponding path program 1 times [2018-11-23 12:14:06,367 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:06,367 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:06,368 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:06,368 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:06,369 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:06,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:06,525 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:14:06,526 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:06,526 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:06,526 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:14:06,527 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:14:06,528 INFO L273 TraceCheckUtils]: 5: Hoare triple {362#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {362#true} is VALID [2018-11-23 12:14:06,528 INFO L273 TraceCheckUtils]: 6: Hoare triple {362#true} assume !!(~i~1 < 5);assume -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:06,528 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:06,528 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 5); {362#true} is VALID [2018-11-23 12:14:06,529 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:06,531 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:06,532 INFO L273 TraceCheckUtils]: 11: Hoare triple {364#(= avg_~i~0 0)} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:14:06,532 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:06,532 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:06,533 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:14:06,533 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:06,533 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:06,533 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:06,534 INFO L273 TraceCheckUtils]: 18: Hoare triple {362#true} assume !(~i~0 < 5); {362#true} is VALID [2018-11-23 12:14:06,534 INFO L273 TraceCheckUtils]: 19: Hoare triple {362#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:14:06,534 INFO L273 TraceCheckUtils]: 20: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:06,535 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {362#true} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:14:06,535 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:06,535 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 4); {363#false} is VALID [2018-11-23 12:14:06,535 INFO L273 TraceCheckUtils]: 24: Hoare triple {363#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:06,536 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:06,536 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:06,536 INFO L273 TraceCheckUtils]: 27: Hoare triple {362#true} assume !(~i~0 < 5); {362#true} is VALID [2018-11-23 12:14:06,537 INFO L273 TraceCheckUtils]: 28: Hoare triple {362#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:14:06,537 INFO L273 TraceCheckUtils]: 29: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:06,537 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {362#true} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:14:06,538 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:06,538 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:06,538 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:14:06,541 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:06,541 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:06,541 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:06,555 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:06,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:06,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:06,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:06,803 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:14:06,803 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:06,804 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:14:06,804 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:14:06,805 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:14:06,805 INFO L273 TraceCheckUtils]: 5: Hoare triple {362#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {362#true} is VALID [2018-11-23 12:14:06,806 INFO L273 TraceCheckUtils]: 6: Hoare triple {362#true} assume !!(~i~1 < 5);assume -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:06,806 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:06,806 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 5); {362#true} is VALID [2018-11-23 12:14:06,807 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:06,811 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:06,816 INFO L273 TraceCheckUtils]: 11: Hoare triple {398#(<= avg_~i~0 0)} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:14:06,816 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:06,817 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:06,817 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:14:06,817 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:06,817 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:06,818 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:06,818 INFO L273 TraceCheckUtils]: 18: Hoare triple {363#false} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:14:06,818 INFO L273 TraceCheckUtils]: 19: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:06,819 INFO L273 TraceCheckUtils]: 20: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:06,819 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {363#false} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:14:06,819 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:06,819 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 4); {363#false} is VALID [2018-11-23 12:14:06,820 INFO L273 TraceCheckUtils]: 24: Hoare triple {363#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {363#false} is VALID [2018-11-23 12:14:06,820 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:06,820 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:06,821 INFO L273 TraceCheckUtils]: 27: Hoare triple {363#false} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:14:06,821 INFO L273 TraceCheckUtils]: 28: Hoare triple {363#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:14:06,821 INFO L273 TraceCheckUtils]: 29: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:14:06,822 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {363#false} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:14:06,822 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:06,822 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:06,823 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:14:06,825 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:06,855 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:14:06,855 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 12:14:06,856 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:14:06,858 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:06,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:14:07,005 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:07,005 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:14:07,005 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:14:07,006 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:14:07,006 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand 4 states. [2018-11-23 12:14:07,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,335 INFO L93 Difference]: Finished difference Result 46 states and 56 transitions. [2018-11-23 12:14:07,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:07,336 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:14:07,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:07,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:14:07,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:14:07,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:14:07,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:14:07,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 55 transitions. [2018-11-23 12:14:07,459 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:07,462 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:14:07,462 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:14:07,463 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:07,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:14:07,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:14:07,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:07,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:07,481 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:07,481 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:14:07,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,485 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:14:07,485 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:07,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:07,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:07,486 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:14:07,486 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:14:07,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,489 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:14:07,489 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:07,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:07,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:07,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:07,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:07,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:14:07,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2018-11-23 12:14:07,493 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 34 [2018-11-23 12:14:07,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:07,494 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2018-11-23 12:14:07,494 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:14:07,494 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:14:07,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:14:07,495 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:07,496 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:07,496 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:07,496 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:07,496 INFO L82 PathProgramCache]: Analyzing trace with hash 2063023467, now seen corresponding path program 1 times [2018-11-23 12:14:07,497 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:07,497 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:07,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:07,498 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:07,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:07,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:07,618 INFO L256 TraceCheckUtils]: 0: Hoare triple {630#true} call ULTIMATE.init(); {630#true} is VALID [2018-11-23 12:14:07,619 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:07,620 INFO L273 TraceCheckUtils]: 2: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:07,620 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {630#true} {630#true} #66#return; {630#true} is VALID [2018-11-23 12:14:07,620 INFO L256 TraceCheckUtils]: 4: Hoare triple {630#true} call #t~ret12 := main(); {630#true} is VALID [2018-11-23 12:14:07,620 INFO L273 TraceCheckUtils]: 5: Hoare triple {630#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {630#true} is VALID [2018-11-23 12:14:07,620 INFO L273 TraceCheckUtils]: 6: Hoare triple {630#true} assume !!(~i~1 < 5);assume -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:07,621 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:07,621 INFO L273 TraceCheckUtils]: 8: Hoare triple {630#true} assume !(~i~1 < 5); {630#true} is VALID [2018-11-23 12:14:07,621 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:07,621 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:07,622 INFO L273 TraceCheckUtils]: 11: Hoare triple {630#true} assume !!(~i~0 < 5);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:07,622 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:07,622 INFO L273 TraceCheckUtils]: 13: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:14:07,622 INFO L273 TraceCheckUtils]: 14: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:07,623 INFO L273 TraceCheckUtils]: 15: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:07,623 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {630#true} {630#true} #70#return; {630#true} is VALID [2018-11-23 12:14:07,623 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:07,624 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:07,624 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:07,624 INFO L273 TraceCheckUtils]: 20: Hoare triple {630#true} assume !!(~i~0 < 5);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:07,625 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:07,625 INFO L273 TraceCheckUtils]: 22: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:14:07,625 INFO L273 TraceCheckUtils]: 23: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:07,626 INFO L273 TraceCheckUtils]: 24: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:07,626 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {630#true} {630#true} #72#return; {630#true} is VALID [2018-11-23 12:14:07,632 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:07,633 INFO L273 TraceCheckUtils]: 27: Hoare triple {632#(= main_~i~2 0)} assume !(~i~2 < 4); {631#false} is VALID [2018-11-23 12:14:07,633 INFO L273 TraceCheckUtils]: 28: Hoare triple {631#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {631#false} is VALID [2018-11-23 12:14:07,634 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:07,634 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:07,634 INFO L273 TraceCheckUtils]: 31: Hoare triple {630#true} assume !!(~i~0 < 5);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:07,634 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:07,635 INFO L273 TraceCheckUtils]: 33: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:14:07,635 INFO L273 TraceCheckUtils]: 34: Hoare triple {630#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:14:07,635 INFO L273 TraceCheckUtils]: 35: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:14:07,635 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {630#true} {631#false} #74#return; {631#false} is VALID [2018-11-23 12:14:07,635 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:07,636 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:07,636 INFO L273 TraceCheckUtils]: 39: Hoare triple {631#false} assume !false; {631#false} is VALID [2018-11-23 12:14:07,638 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:07,639 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:14:07,639 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:14:07,639 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:14:07,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:07,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:14:07,706 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:07,707 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:14:07,707 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:14:07,707 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:14:07,708 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand 3 states. [2018-11-23 12:14:07,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,810 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 12:14:07,810 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:14:07,810 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:14:07,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:07,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:07,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:14:07,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:14:07,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:14:07,816 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 45 transitions. [2018-11-23 12:14:07,920 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:07,922 INFO L225 Difference]: With dead ends: 43 [2018-11-23 12:14:07,923 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:14:07,923 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:07,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:14:07,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 12:14:07,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:07,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:07,935 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:07,935 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 12:14:07,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,939 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:14:07,939 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:14:07,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:07,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:07,943 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 12:14:07,944 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 12:14:07,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:07,950 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:14:07,951 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:14:07,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:07,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:07,952 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:07,952 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:07,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:14:07,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 12:14:07,956 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 40 [2018-11-23 12:14:07,957 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:07,957 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 12:14:07,957 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:14:07,957 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:14:07,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:14:07,958 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:07,959 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:07,959 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:07,959 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:07,959 INFO L82 PathProgramCache]: Analyzing trace with hash -1550668567, now seen corresponding path program 1 times [2018-11-23 12:14:07,965 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:07,965 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:07,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:07,966 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:07,967 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:08,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:08,113 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:14:08,114 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:08,114 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:08,115 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:14:08,115 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:14:08,116 INFO L273 TraceCheckUtils]: 5: Hoare triple {799#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:08,116 INFO L273 TraceCheckUtils]: 6: Hoare triple {801#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:08,117 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:08,118 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 5); {800#false} is VALID [2018-11-23 12:14:08,118 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:08,118 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:08,119 INFO L273 TraceCheckUtils]: 11: Hoare triple {799#true} assume !!(~i~0 < 5);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:08,119 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:08,119 INFO L273 TraceCheckUtils]: 13: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:14:08,120 INFO L273 TraceCheckUtils]: 14: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:08,120 INFO L273 TraceCheckUtils]: 15: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:08,121 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {799#true} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:14:08,121 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:08,121 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:08,121 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:08,122 INFO L273 TraceCheckUtils]: 20: Hoare triple {799#true} assume !!(~i~0 < 5);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:08,122 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:08,122 INFO L273 TraceCheckUtils]: 22: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:14:08,122 INFO L273 TraceCheckUtils]: 23: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:08,123 INFO L273 TraceCheckUtils]: 24: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:08,123 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {799#true} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:14:08,123 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:08,124 INFO L273 TraceCheckUtils]: 27: Hoare triple {800#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:08,124 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:08,124 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 4); {800#false} is VALID [2018-11-23 12:14:08,125 INFO L273 TraceCheckUtils]: 30: Hoare triple {800#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:08,125 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:08,125 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:08,125 INFO L273 TraceCheckUtils]: 33: Hoare triple {799#true} assume !!(~i~0 < 5);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:08,126 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:08,126 INFO L273 TraceCheckUtils]: 35: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:14:08,126 INFO L273 TraceCheckUtils]: 36: Hoare triple {799#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:14:08,126 INFO L273 TraceCheckUtils]: 37: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:08,127 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {799#true} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:14:08,127 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:08,127 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:08,127 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:14:08,130 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:08,131 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:08,131 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:08,155 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:08,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:08,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:08,223 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:08,686 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:14:08,687 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:08,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:14:08,688 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:14:08,688 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:14:08,689 INFO L273 TraceCheckUtils]: 5: Hoare triple {799#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:08,690 INFO L273 TraceCheckUtils]: 6: Hoare triple {821#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:08,690 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:08,691 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 5); {800#false} is VALID [2018-11-23 12:14:08,691 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:08,692 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:08,692 INFO L273 TraceCheckUtils]: 11: Hoare triple {800#false} assume !!(~i~0 < 5);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:08,692 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:08,693 INFO L273 TraceCheckUtils]: 13: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:14:08,693 INFO L273 TraceCheckUtils]: 14: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:08,694 INFO L273 TraceCheckUtils]: 15: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:08,694 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {800#false} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:14:08,694 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:08,694 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:08,695 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:08,695 INFO L273 TraceCheckUtils]: 20: Hoare triple {800#false} assume !!(~i~0 < 5);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:08,695 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:08,695 INFO L273 TraceCheckUtils]: 22: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:14:08,696 INFO L273 TraceCheckUtils]: 23: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:08,696 INFO L273 TraceCheckUtils]: 24: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:08,696 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {800#false} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:14:08,696 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:08,697 INFO L273 TraceCheckUtils]: 27: Hoare triple {800#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:08,697 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:08,697 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 4); {800#false} is VALID [2018-11-23 12:14:08,697 INFO L273 TraceCheckUtils]: 30: Hoare triple {800#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {800#false} is VALID [2018-11-23 12:14:08,697 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:08,698 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:08,698 INFO L273 TraceCheckUtils]: 33: Hoare triple {800#false} assume !!(~i~0 < 5);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:08,698 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:08,698 INFO L273 TraceCheckUtils]: 35: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:14:08,699 INFO L273 TraceCheckUtils]: 36: Hoare triple {800#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:14:08,699 INFO L273 TraceCheckUtils]: 37: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:14:08,699 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {800#false} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:14:08,699 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:08,700 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:08,700 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:14:08,703 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:08,732 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:08,732 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:14:08,733 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:14:08,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:08,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:14:08,822 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:08,822 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:14:08,823 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:14:08,823 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:14:08,824 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 5 states. [2018-11-23 12:14:09,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:09,081 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-23 12:14:09,082 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:14:09,082 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:14:09,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:09,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:14:09,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:14:09,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:14:09,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:14:09,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-23 12:14:09,199 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:09,200 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:14:09,201 INFO L226 Difference]: Without dead ends: 32 [2018-11-23 12:14:09,201 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:09,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2018-11-23 12:14:09,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2018-11-23 12:14:09,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:09,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:09,268 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:09,268 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 31 states. [2018-11-23 12:14:09,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:09,270 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:14:09,270 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:14:09,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:09,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:09,271 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 32 states. [2018-11-23 12:14:09,271 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 32 states. [2018-11-23 12:14:09,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:09,274 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:14:09,274 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:14:09,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:09,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:09,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:09,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:09,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:14:09,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2018-11-23 12:14:09,277 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 42 [2018-11-23 12:14:09,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:09,278 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2018-11-23 12:14:09,278 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:14:09,278 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 12:14:09,279 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:14:09,279 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:09,279 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:09,280 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:09,282 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:09,282 INFO L82 PathProgramCache]: Analyzing trace with hash -1311885621, now seen corresponding path program 2 times [2018-11-23 12:14:09,282 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:09,282 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:09,283 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:09,283 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:09,283 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:09,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:09,490 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:14:09,491 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:09,492 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:09,492 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:14:09,493 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:14:09,497 INFO L273 TraceCheckUtils]: 5: Hoare triple {1114#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:09,499 INFO L273 TraceCheckUtils]: 6: Hoare triple {1116#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:09,500 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:09,501 INFO L273 TraceCheckUtils]: 8: Hoare triple {1117#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -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:09,501 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:09,502 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 5); {1115#false} is VALID [2018-11-23 12:14:09,502 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:09,502 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:09,502 INFO L273 TraceCheckUtils]: 13: Hoare triple {1114#true} assume !!(~i~0 < 5);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:09,503 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:09,503 INFO L273 TraceCheckUtils]: 15: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:14:09,503 INFO L273 TraceCheckUtils]: 16: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:09,504 INFO L273 TraceCheckUtils]: 17: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:09,504 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1114#true} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:14:09,504 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:09,504 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:09,504 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:09,505 INFO L273 TraceCheckUtils]: 22: Hoare triple {1114#true} assume !!(~i~0 < 5);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:09,505 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:09,505 INFO L273 TraceCheckUtils]: 24: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:14:09,505 INFO L273 TraceCheckUtils]: 25: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:09,506 INFO L273 TraceCheckUtils]: 26: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:09,506 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1114#true} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:14:09,506 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:09,507 INFO L273 TraceCheckUtils]: 29: Hoare triple {1115#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:09,507 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:09,507 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 4); {1115#false} is VALID [2018-11-23 12:14:09,508 INFO L273 TraceCheckUtils]: 32: Hoare triple {1115#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:09,508 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:09,508 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:09,508 INFO L273 TraceCheckUtils]: 35: Hoare triple {1114#true} assume !!(~i~0 < 5);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:09,509 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:09,509 INFO L273 TraceCheckUtils]: 37: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:14:09,509 INFO L273 TraceCheckUtils]: 38: Hoare triple {1114#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:14:09,509 INFO L273 TraceCheckUtils]: 39: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:09,509 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1114#true} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:14:09,510 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:09,510 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:09,510 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:14:09,512 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:09,513 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:09,513 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:09,523 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:14:09,560 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:14:09,560 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:09,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:09,581 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:09,687 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:14:09,687 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:09,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:14:09,688 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:14:09,688 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:14:09,689 INFO L273 TraceCheckUtils]: 5: Hoare triple {1114#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:09,690 INFO L273 TraceCheckUtils]: 6: Hoare triple {1137#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:09,690 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:09,691 INFO L273 TraceCheckUtils]: 8: Hoare triple {1117#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -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:09,692 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:09,695 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 5); {1115#false} is VALID [2018-11-23 12:14:09,695 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:09,696 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:09,696 INFO L273 TraceCheckUtils]: 13: Hoare triple {1115#false} assume !!(~i~0 < 5);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:09,696 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:09,696 INFO L273 TraceCheckUtils]: 15: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:14:09,697 INFO L273 TraceCheckUtils]: 16: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:09,697 INFO L273 TraceCheckUtils]: 17: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:09,697 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1115#false} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:14:09,697 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:09,697 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:09,698 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:09,698 INFO L273 TraceCheckUtils]: 22: Hoare triple {1115#false} assume !!(~i~0 < 5);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:09,698 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:09,698 INFO L273 TraceCheckUtils]: 24: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:14:09,698 INFO L273 TraceCheckUtils]: 25: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:09,699 INFO L273 TraceCheckUtils]: 26: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:09,699 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1115#false} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:14:09,699 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:09,699 INFO L273 TraceCheckUtils]: 29: Hoare triple {1115#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:09,699 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:09,700 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 4); {1115#false} is VALID [2018-11-23 12:14:09,700 INFO L273 TraceCheckUtils]: 32: Hoare triple {1115#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1115#false} is VALID [2018-11-23 12:14:09,700 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:09,700 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:09,700 INFO L273 TraceCheckUtils]: 35: Hoare triple {1115#false} assume !!(~i~0 < 5);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:09,701 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:09,701 INFO L273 TraceCheckUtils]: 37: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:14:09,701 INFO L273 TraceCheckUtils]: 38: Hoare triple {1115#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:14:09,701 INFO L273 TraceCheckUtils]: 39: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:14:09,701 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1115#false} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:14:09,702 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:09,702 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:09,702 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:14:09,705 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:09,726 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:09,726 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:14:09,726 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:14:09,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:09,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:14:09,783 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:09,784 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:14:09,784 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:14:09,784 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:14:09,785 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand 6 states. [2018-11-23 12:14:09,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:09,960 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2018-11-23 12:14:09,961 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:14:09,961 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:14:09,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:09,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:09,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:14:09,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:09,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:14:09,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2018-11-23 12:14:10,086 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:10,088 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:14:10,088 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 12:14:10,089 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:10,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 12:14:10,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 12:14:10,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:10,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:10,123 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:10,123 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-23 12:14:10,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:10,126 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:14:10,126 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:14:10,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:10,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:10,126 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-23 12:14:10,127 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-23 12:14:10,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:10,129 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:14:10,129 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:14:10,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:10,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:10,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:10,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:10,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:14:10,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2018-11-23 12:14:10,132 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 44 [2018-11-23 12:14:10,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:10,133 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2018-11-23 12:14:10,133 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:14:10,133 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-23 12:14:10,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 12:14:10,134 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:10,134 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:10,134 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:10,134 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:10,135 INFO L82 PathProgramCache]: Analyzing trace with hash 525258797, now seen corresponding path program 3 times [2018-11-23 12:14:10,135 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:10,135 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:10,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:10,136 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:10,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:10,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:10,263 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:14:10,264 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:10,265 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:10,265 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:14:10,265 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:14:10,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {1446#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:10,273 INFO L273 TraceCheckUtils]: 6: Hoare triple {1448#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:10,273 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:10,275 INFO L273 TraceCheckUtils]: 8: Hoare triple {1449#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -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:10,276 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:10,277 INFO L273 TraceCheckUtils]: 10: Hoare triple {1450#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -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:10,278 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:10,279 INFO L273 TraceCheckUtils]: 12: Hoare triple {1451#(<= main_~i~1 3)} assume !(~i~1 < 5); {1447#false} is VALID [2018-11-23 12:14:10,279 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:10,280 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:10,280 INFO L273 TraceCheckUtils]: 15: Hoare triple {1446#true} assume !!(~i~0 < 5);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:10,281 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:10,281 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:14:10,281 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:10,282 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:10,282 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1447#false} #70#return; {1447#false} is VALID [2018-11-23 12:14:10,282 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:10,282 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:10,283 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:10,283 INFO L273 TraceCheckUtils]: 24: Hoare triple {1446#true} assume !!(~i~0 < 5);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:10,283 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:10,284 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:14:10,284 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:10,284 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:10,284 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1447#false} #72#return; {1447#false} is VALID [2018-11-23 12:14:10,284 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:10,285 INFO L273 TraceCheckUtils]: 31: Hoare triple {1447#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:10,285 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:10,285 INFO L273 TraceCheckUtils]: 33: Hoare triple {1447#false} assume !(~i~2 < 4); {1447#false} is VALID [2018-11-23 12:14:10,286 INFO L273 TraceCheckUtils]: 34: Hoare triple {1447#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1447#false} is VALID [2018-11-23 12:14:10,286 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:10,286 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:10,286 INFO L273 TraceCheckUtils]: 37: Hoare triple {1446#true} assume !!(~i~0 < 5);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:10,287 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:10,287 INFO L273 TraceCheckUtils]: 39: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:14:10,287 INFO L273 TraceCheckUtils]: 40: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:10,287 INFO L273 TraceCheckUtils]: 41: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:10,288 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1446#true} {1447#false} #74#return; {1447#false} is VALID [2018-11-23 12:14:10,288 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:10,288 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:10,288 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:14:10,291 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:10,291 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:10,292 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:10,304 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:14:10,348 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 12:14:10,349 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:10,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:10,386 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:11,021 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:14:11,021 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:11,021 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:11,022 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:14:11,022 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:14:11,022 INFO L273 TraceCheckUtils]: 5: Hoare triple {1446#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1446#true} is VALID [2018-11-23 12:14:11,022 INFO L273 TraceCheckUtils]: 6: Hoare triple {1446#true} assume !!(~i~1 < 5);assume -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:11,023 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:11,023 INFO L273 TraceCheckUtils]: 8: Hoare triple {1446#true} assume !!(~i~1 < 5);assume -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:11,023 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:11,023 INFO L273 TraceCheckUtils]: 10: Hoare triple {1446#true} assume !!(~i~1 < 5);assume -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:11,024 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:11,024 INFO L273 TraceCheckUtils]: 12: Hoare triple {1446#true} assume !(~i~1 < 5); {1446#true} is VALID [2018-11-23 12:14:11,024 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:11,024 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:11,025 INFO L273 TraceCheckUtils]: 15: Hoare triple {1446#true} assume !!(~i~0 < 5);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:11,025 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:11,025 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:14:11,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:11,025 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:11,026 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1446#true} #70#return; {1446#true} is VALID [2018-11-23 12:14:11,026 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:11,026 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:11,026 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:11,027 INFO L273 TraceCheckUtils]: 24: Hoare triple {1446#true} assume !!(~i~0 < 5);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:11,027 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:11,027 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:14:11,027 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:14:11,028 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:14:11,028 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1446#true} #72#return; {1446#true} is VALID [2018-11-23 12:14:11,028 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:11,028 INFO L273 TraceCheckUtils]: 31: Hoare triple {1446#true} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:11,029 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:11,029 INFO L273 TraceCheckUtils]: 33: Hoare triple {1446#true} assume !(~i~2 < 4); {1446#true} is VALID [2018-11-23 12:14:11,029 INFO L273 TraceCheckUtils]: 34: Hoare triple {1446#true} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1446#true} is VALID [2018-11-23 12:14:11,029 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:11,031 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:11,031 INFO L273 TraceCheckUtils]: 37: Hoare triple {1563#(<= avg_~i~0 0)} assume !!(~i~0 < 5);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:11,032 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:11,033 INFO L273 TraceCheckUtils]: 39: Hoare triple {1570#(<= avg_~i~0 1)} assume !(~i~0 < 5); {1447#false} is VALID [2018-11-23 12:14:11,033 INFO L273 TraceCheckUtils]: 40: Hoare triple {1447#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1447#false} is VALID [2018-11-23 12:14:11,033 INFO L273 TraceCheckUtils]: 41: Hoare triple {1447#false} assume true; {1447#false} is VALID [2018-11-23 12:14:11,033 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1447#false} {1446#true} #74#return; {1447#false} is VALID [2018-11-23 12:14:11,033 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:11,033 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:11,034 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:14:11,037 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:11,057 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:11,057 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-23 12:14:11,059 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:14:11,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:11,060 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:14:11,171 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:11,171 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:14:11,171 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:14:11,171 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:11,172 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 8 states. [2018-11-23 12:14:11,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:11,572 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2018-11-23 12:14:11,572 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:14:11,572 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:14:11,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:11,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:11,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:14:11,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:14:11,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:14:11,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2018-11-23 12:14:11,783 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:11,786 INFO L225 Difference]: With dead ends: 59 [2018-11-23 12:14:11,786 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 12:14:11,787 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:14:11,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 12:14:11,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2018-11-23 12:14:11,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:11,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:11,858 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:11,858 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 37 states. [2018-11-23 12:14:11,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:11,861 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:14:11,861 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:14:11,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:11,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:11,862 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 39 states. [2018-11-23 12:14:11,862 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 39 states. [2018-11-23 12:14:11,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:11,865 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:14:11,865 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:14:11,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:11,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:11,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:11,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:11,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:14:11,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2018-11-23 12:14:11,868 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 46 [2018-11-23 12:14:11,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:11,868 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2018-11-23 12:14:11,868 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:14:11,869 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2018-11-23 12:14:11,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:14:11,870 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:11,870 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:11,870 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:11,870 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:11,870 INFO L82 PathProgramCache]: Analyzing trace with hash -174499699, now seen corresponding path program 4 times [2018-11-23 12:14:11,871 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:11,871 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:11,872 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:11,872 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:11,872 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:11,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:12,257 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:14:12,258 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:12,258 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:12,258 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:14:12,259 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:14:12,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {1809#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);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:12,260 INFO L273 TraceCheckUtils]: 6: Hoare triple {1811#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -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:12,261 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:12,261 INFO L273 TraceCheckUtils]: 8: Hoare triple {1812#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -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:12,262 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:12,262 INFO L273 TraceCheckUtils]: 10: Hoare triple {1813#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -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:12,263 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:12,264 INFO L273 TraceCheckUtils]: 12: Hoare triple {1814#(<= main_~i~1 3)} assume !!(~i~1 < 5);assume -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:12,265 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:12,266 INFO L273 TraceCheckUtils]: 14: Hoare triple {1815#(<= main_~i~1 4)} assume !(~i~1 < 5); {1810#false} is VALID [2018-11-23 12:14:12,266 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:12,266 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:12,266 INFO L273 TraceCheckUtils]: 17: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,267 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:12,267 INFO L273 TraceCheckUtils]: 19: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,267 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:12,268 INFO L273 TraceCheckUtils]: 21: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:14:12,268 INFO L273 TraceCheckUtils]: 22: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:12,268 INFO L273 TraceCheckUtils]: 23: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:12,269 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1809#true} {1810#false} #70#return; {1810#false} is VALID [2018-11-23 12:14:12,269 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:12,269 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:12,270 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:12,270 INFO L273 TraceCheckUtils]: 28: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,270 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:12,270 INFO L273 TraceCheckUtils]: 30: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,271 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:12,271 INFO L273 TraceCheckUtils]: 32: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:14:12,271 INFO L273 TraceCheckUtils]: 33: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:12,271 INFO L273 TraceCheckUtils]: 34: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:12,271 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1809#true} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:14:12,271 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:12,272 INFO L273 TraceCheckUtils]: 37: Hoare triple {1810#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:12,272 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:12,272 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 4); {1810#false} is VALID [2018-11-23 12:14:12,272 INFO L273 TraceCheckUtils]: 40: Hoare triple {1810#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:12,272 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:12,272 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:12,273 INFO L273 TraceCheckUtils]: 43: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,273 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:12,273 INFO L273 TraceCheckUtils]: 45: Hoare triple {1809#true} assume !!(~i~0 < 5);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:12,273 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:12,273 INFO L273 TraceCheckUtils]: 47: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:14:12,274 INFO L273 TraceCheckUtils]: 48: Hoare triple {1809#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:14:12,274 INFO L273 TraceCheckUtils]: 49: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:12,274 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1809#true} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:14:12,274 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:12,274 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:12,275 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:14:12,278 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:12,279 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:12,279 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:12,290 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:14:12,317 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:14:12,317 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:12,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:12,338 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:12,474 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:14:12,474 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:12,474 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:14:12,474 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:14:12,475 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:14:12,475 INFO L273 TraceCheckUtils]: 5: Hoare triple {1809#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {1809#true} is VALID [2018-11-23 12:14:12,475 INFO L273 TraceCheckUtils]: 6: Hoare triple {1809#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1809#true} is VALID [2018-11-23 12:14:12,475 INFO L273 TraceCheckUtils]: 7: Hoare triple {1809#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1809#true} is VALID [2018-11-23 12:14:12,475 INFO L273 TraceCheckUtils]: 8: Hoare triple {1809#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 9: Hoare triple {1809#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 10: Hoare triple {1809#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 11: Hoare triple {1809#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 12: Hoare triple {1809#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 13: Hoare triple {1809#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1809#true} is VALID [2018-11-23 12:14:12,476 INFO L273 TraceCheckUtils]: 14: Hoare triple {1809#true} assume !(~i~1 < 5); {1809#true} is VALID [2018-11-23 12:14:12,477 INFO L256 TraceCheckUtils]: 15: Hoare triple {1809#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:14:12,481 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; {1867#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:12,481 INFO L273 TraceCheckUtils]: 17: Hoare triple {1867#(<= avg_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1867#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:12,501 INFO L273 TraceCheckUtils]: 18: Hoare triple {1867#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1874#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:12,515 INFO L273 TraceCheckUtils]: 19: Hoare triple {1874#(<= avg_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {1874#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:12,516 INFO L273 TraceCheckUtils]: 20: Hoare triple {1874#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1881#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:12,517 INFO L273 TraceCheckUtils]: 21: Hoare triple {1881#(<= avg_~i~0 2)} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:14:12,517 INFO L273 TraceCheckUtils]: 22: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:12,517 INFO L273 TraceCheckUtils]: 23: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:12,518 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1810#false} {1809#true} #70#return; {1810#false} is VALID [2018-11-23 12:14:12,518 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:12,518 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:12,518 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:12,518 INFO L273 TraceCheckUtils]: 28: Hoare triple {1810#false} assume !!(~i~0 < 5);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:12,519 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:12,519 INFO L273 TraceCheckUtils]: 30: Hoare triple {1810#false} assume !!(~i~0 < 5);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:12,519 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:12,519 INFO L273 TraceCheckUtils]: 32: Hoare triple {1810#false} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:14:12,519 INFO L273 TraceCheckUtils]: 33: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:12,520 INFO L273 TraceCheckUtils]: 34: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:12,520 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1810#false} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:14:12,520 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:12,520 INFO L273 TraceCheckUtils]: 37: Hoare triple {1810#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.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:12,521 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:12,521 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 4); {1810#false} is VALID [2018-11-23 12:14:12,521 INFO L273 TraceCheckUtils]: 40: Hoare triple {1810#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {1810#false} is VALID [2018-11-23 12:14:12,521 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:12,521 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:12,521 INFO L273 TraceCheckUtils]: 43: Hoare triple {1810#false} assume !!(~i~0 < 5);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:12,522 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:12,522 INFO L273 TraceCheckUtils]: 45: Hoare triple {1810#false} assume !!(~i~0 < 5);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:12,522 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:12,522 INFO L273 TraceCheckUtils]: 47: Hoare triple {1810#false} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:14:12,523 INFO L273 TraceCheckUtils]: 48: Hoare triple {1810#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:14:12,523 INFO L273 TraceCheckUtils]: 49: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:14:12,523 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1810#false} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:14:12,523 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:12,523 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:12,524 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:14:12,526 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 28 proven. 4 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2018-11-23 12:14:12,547 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:12,547 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2018-11-23 12:14:12,548 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 54 [2018-11-23 12:14:12,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:12,548 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:14:12,687 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:12,687 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:14:12,687 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:14:12,688 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:14:12,688 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand 10 states. [2018-11-23 12:14:13,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:13,343 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2018-11-23 12:14:13,343 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:14:13,343 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 54 [2018-11-23 12:14:13,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:13,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:14:13,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2018-11-23 12:14:13,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:14:13,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2018-11-23 12:14:13,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 71 transitions. [2018-11-23 12:14:13,455 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:13,457 INFO L225 Difference]: With dead ends: 64 [2018-11-23 12:14:13,457 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:14:13,458 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:14:13,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:14:13,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2018-11-23 12:14:13,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:13,479 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 41 states. [2018-11-23 12:14:13,479 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 41 states. [2018-11-23 12:14:13,479 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 41 states. [2018-11-23 12:14:13,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:13,482 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 12:14:13,483 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 12:14:13,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:13,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:13,483 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 42 states. [2018-11-23 12:14:13,483 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 42 states. [2018-11-23 12:14:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:13,485 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 12:14:13,486 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 12:14:13,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:13,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:13,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:13,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:13,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:14:13,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2018-11-23 12:14:13,489 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 54 [2018-11-23 12:14:13,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:13,490 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2018-11-23 12:14:13,490 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:14:13,490 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2018-11-23 12:14:13,491 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:14:13,491 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:13,491 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 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:13,492 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:13,492 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:13,492 INFO L82 PathProgramCache]: Analyzing trace with hash -1668458771, now seen corresponding path program 5 times [2018-11-23 12:14:13,492 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:13,492 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:13,493 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:13,493 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:13,493 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:13,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:13,685 INFO L256 TraceCheckUtils]: 0: Hoare triple {2218#true} call ULTIMATE.init(); {2218#true} is VALID [2018-11-23 12:14:13,685 INFO L273 TraceCheckUtils]: 1: Hoare triple {2218#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2218#true} is VALID [2018-11-23 12:14:13,686 INFO L273 TraceCheckUtils]: 2: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:14:13,686 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2218#true} {2218#true} #66#return; {2218#true} is VALID [2018-11-23 12:14:13,686 INFO L256 TraceCheckUtils]: 4: Hoare triple {2218#true} call #t~ret12 := main(); {2218#true} is VALID [2018-11-23 12:14:13,686 INFO L273 TraceCheckUtils]: 5: Hoare triple {2218#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2218#true} is VALID [2018-11-23 12:14:13,687 INFO L273 TraceCheckUtils]: 6: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:13,687 INFO L273 TraceCheckUtils]: 7: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:13,687 INFO L273 TraceCheckUtils]: 8: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:13,687 INFO L273 TraceCheckUtils]: 9: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:13,687 INFO L273 TraceCheckUtils]: 10: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:13,688 INFO L273 TraceCheckUtils]: 11: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:13,688 INFO L273 TraceCheckUtils]: 12: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:13,688 INFO L273 TraceCheckUtils]: 13: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:13,688 INFO L273 TraceCheckUtils]: 14: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:13,689 INFO L273 TraceCheckUtils]: 15: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:13,689 INFO L273 TraceCheckUtils]: 16: Hoare triple {2218#true} assume !(~i~1 < 5); {2218#true} is VALID [2018-11-23 12:14:13,689 INFO L256 TraceCheckUtils]: 17: Hoare triple {2218#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:14:13,690 INFO L273 TraceCheckUtils]: 18: Hoare triple {2218#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2220#(= avg_~i~0 0)} is VALID [2018-11-23 12:14:13,690 INFO L273 TraceCheckUtils]: 19: Hoare triple {2220#(= avg_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2220#(= avg_~i~0 0)} is VALID [2018-11-23 12:14:13,692 INFO L273 TraceCheckUtils]: 20: Hoare triple {2220#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2221#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:13,692 INFO L273 TraceCheckUtils]: 21: Hoare triple {2221#(<= avg_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2221#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:13,693 INFO L273 TraceCheckUtils]: 22: Hoare triple {2221#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2222#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:13,693 INFO L273 TraceCheckUtils]: 23: Hoare triple {2222#(<= avg_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2222#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:13,693 INFO L273 TraceCheckUtils]: 24: Hoare triple {2222#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2223#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:13,694 INFO L273 TraceCheckUtils]: 25: Hoare triple {2223#(<= avg_~i~0 3)} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:14:13,694 INFO L273 TraceCheckUtils]: 26: Hoare triple {2219#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:14:13,694 INFO L273 TraceCheckUtils]: 27: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:14:13,694 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2219#false} {2218#true} #70#return; {2219#false} is VALID [2018-11-23 12:14:13,694 INFO L273 TraceCheckUtils]: 29: Hoare triple {2219#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); {2219#false} is VALID [2018-11-23 12:14:13,695 INFO L256 TraceCheckUtils]: 30: Hoare triple {2219#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 31: Hoare triple {2218#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 32: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 33: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 34: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 35: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,695 INFO L273 TraceCheckUtils]: 36: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,696 INFO L273 TraceCheckUtils]: 37: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,696 INFO L273 TraceCheckUtils]: 38: Hoare triple {2218#true} assume !(~i~0 < 5); {2218#true} is VALID [2018-11-23 12:14:13,696 INFO L273 TraceCheckUtils]: 39: Hoare triple {2218#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2218#true} is VALID [2018-11-23 12:14:13,696 INFO L273 TraceCheckUtils]: 40: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:14:13,696 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2218#true} {2219#false} #72#return; {2219#false} is VALID [2018-11-23 12:14:13,696 INFO L273 TraceCheckUtils]: 42: Hoare triple {2219#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; {2219#false} is VALID [2018-11-23 12:14:13,697 INFO L273 TraceCheckUtils]: 43: Hoare triple {2219#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2219#false} is VALID [2018-11-23 12:14:13,697 INFO L273 TraceCheckUtils]: 44: Hoare triple {2219#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2219#false} is VALID [2018-11-23 12:14:13,697 INFO L273 TraceCheckUtils]: 45: Hoare triple {2219#false} assume !(~i~2 < 4); {2219#false} is VALID [2018-11-23 12:14:13,697 INFO L273 TraceCheckUtils]: 46: Hoare triple {2219#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {2219#false} is VALID [2018-11-23 12:14:13,698 INFO L256 TraceCheckUtils]: 47: Hoare triple {2219#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:14:13,698 INFO L273 TraceCheckUtils]: 48: Hoare triple {2218#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2218#true} is VALID [2018-11-23 12:14:13,698 INFO L273 TraceCheckUtils]: 49: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,698 INFO L273 TraceCheckUtils]: 50: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,698 INFO L273 TraceCheckUtils]: 51: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,698 INFO L273 TraceCheckUtils]: 52: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 53: Hoare triple {2218#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 54: Hoare triple {2218#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 55: Hoare triple {2218#true} assume !(~i~0 < 5); {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 56: Hoare triple {2218#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 57: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:14:13,699 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2218#true} {2219#false} #74#return; {2219#false} is VALID [2018-11-23 12:14:13,699 INFO L273 TraceCheckUtils]: 59: Hoare triple {2219#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2219#false} is VALID [2018-11-23 12:14:13,700 INFO L273 TraceCheckUtils]: 60: Hoare triple {2219#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2219#false} is VALID [2018-11-23 12:14:13,700 INFO L273 TraceCheckUtils]: 61: Hoare triple {2219#false} assume !false; {2219#false} is VALID [2018-11-23 12:14:13,702 INFO L134 CoverageAnalysis]: Checked inductivity of 140 backedges. 0 proven. 65 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2018-11-23 12:14:13,702 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:13,703 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:13,720 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:14:13,811 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-23 12:14:13,811 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:13,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:13,843 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:14,075 INFO L256 TraceCheckUtils]: 0: Hoare triple {2218#true} call ULTIMATE.init(); {2218#true} is VALID [2018-11-23 12:14:14,075 INFO L273 TraceCheckUtils]: 1: Hoare triple {2218#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2218#true} is VALID [2018-11-23 12:14:14,075 INFO L273 TraceCheckUtils]: 2: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:14:14,076 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2218#true} {2218#true} #66#return; {2218#true} is VALID [2018-11-23 12:14:14,076 INFO L256 TraceCheckUtils]: 4: Hoare triple {2218#true} call #t~ret12 := main(); {2218#true} is VALID [2018-11-23 12:14:14,076 INFO L273 TraceCheckUtils]: 5: Hoare triple {2218#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2218#true} is VALID [2018-11-23 12:14:14,076 INFO L273 TraceCheckUtils]: 6: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:14,077 INFO L273 TraceCheckUtils]: 7: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:14,077 INFO L273 TraceCheckUtils]: 8: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:14,077 INFO L273 TraceCheckUtils]: 9: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:14,077 INFO L273 TraceCheckUtils]: 10: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:14,078 INFO L273 TraceCheckUtils]: 11: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:14,078 INFO L273 TraceCheckUtils]: 12: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:14,078 INFO L273 TraceCheckUtils]: 13: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:14,078 INFO L273 TraceCheckUtils]: 14: Hoare triple {2218#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2218#true} is VALID [2018-11-23 12:14:14,078 INFO L273 TraceCheckUtils]: 15: Hoare triple {2218#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2218#true} is VALID [2018-11-23 12:14:14,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {2218#true} assume !(~i~1 < 5); {2218#true} is VALID [2018-11-23 12:14:14,079 INFO L256 TraceCheckUtils]: 17: Hoare triple {2218#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:14:14,079 INFO L273 TraceCheckUtils]: 18: Hoare triple {2218#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2281#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:14,080 INFO L273 TraceCheckUtils]: 19: Hoare triple {2281#(<= avg_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2281#(<= avg_~i~0 0)} is VALID [2018-11-23 12:14:14,080 INFO L273 TraceCheckUtils]: 20: Hoare triple {2281#(<= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2221#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:14,081 INFO L273 TraceCheckUtils]: 21: Hoare triple {2221#(<= avg_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2221#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:14,085 INFO L273 TraceCheckUtils]: 22: Hoare triple {2221#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2222#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:14,086 INFO L273 TraceCheckUtils]: 23: Hoare triple {2222#(<= avg_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2222#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:14,087 INFO L273 TraceCheckUtils]: 24: Hoare triple {2222#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2223#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:14,087 INFO L273 TraceCheckUtils]: 25: Hoare triple {2223#(<= avg_~i~0 3)} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:14:14,087 INFO L273 TraceCheckUtils]: 26: Hoare triple {2219#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:14:14,087 INFO L273 TraceCheckUtils]: 27: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2219#false} {2218#true} #70#return; {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L273 TraceCheckUtils]: 29: Hoare triple {2219#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); {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L256 TraceCheckUtils]: 30: Hoare triple {2219#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L273 TraceCheckUtils]: 31: Hoare triple {2219#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L273 TraceCheckUtils]: 32: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L273 TraceCheckUtils]: 33: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,088 INFO L273 TraceCheckUtils]: 34: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,089 INFO L273 TraceCheckUtils]: 35: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,089 INFO L273 TraceCheckUtils]: 36: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,089 INFO L273 TraceCheckUtils]: 37: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,089 INFO L273 TraceCheckUtils]: 38: Hoare triple {2219#false} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:14:14,089 INFO L273 TraceCheckUtils]: 39: Hoare triple {2219#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:14:14,090 INFO L273 TraceCheckUtils]: 40: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:14:14,090 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2219#false} {2219#false} #72#return; {2219#false} is VALID [2018-11-23 12:14:14,090 INFO L273 TraceCheckUtils]: 42: Hoare triple {2219#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; {2219#false} is VALID [2018-11-23 12:14:14,090 INFO L273 TraceCheckUtils]: 43: Hoare triple {2219#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2219#false} is VALID [2018-11-23 12:14:14,090 INFO L273 TraceCheckUtils]: 44: Hoare triple {2219#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2219#false} is VALID [2018-11-23 12:14:14,091 INFO L273 TraceCheckUtils]: 45: Hoare triple {2219#false} assume !(~i~2 < 4); {2219#false} is VALID [2018-11-23 12:14:14,091 INFO L273 TraceCheckUtils]: 46: Hoare triple {2219#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {2219#false} is VALID [2018-11-23 12:14:14,091 INFO L256 TraceCheckUtils]: 47: Hoare triple {2219#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2219#false} is VALID [2018-11-23 12:14:14,091 INFO L273 TraceCheckUtils]: 48: Hoare triple {2219#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2219#false} is VALID [2018-11-23 12:14:14,091 INFO L273 TraceCheckUtils]: 49: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,092 INFO L273 TraceCheckUtils]: 50: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,092 INFO L273 TraceCheckUtils]: 51: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,092 INFO L273 TraceCheckUtils]: 52: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,092 INFO L273 TraceCheckUtils]: 53: Hoare triple {2219#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2219#false} is VALID [2018-11-23 12:14:14,092 INFO L273 TraceCheckUtils]: 54: Hoare triple {2219#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L273 TraceCheckUtils]: 55: Hoare triple {2219#false} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L273 TraceCheckUtils]: 56: Hoare triple {2219#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L273 TraceCheckUtils]: 57: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2219#false} {2219#false} #74#return; {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L273 TraceCheckUtils]: 59: Hoare triple {2219#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2219#false} is VALID [2018-11-23 12:14:14,093 INFO L273 TraceCheckUtils]: 60: Hoare triple {2219#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2219#false} is VALID [2018-11-23 12:14:14,094 INFO L273 TraceCheckUtils]: 61: Hoare triple {2219#false} assume !false; {2219#false} is VALID [2018-11-23 12:14:14,096 INFO L134 CoverageAnalysis]: Checked inductivity of 140 backedges. 52 proven. 9 refuted. 0 times theorem prover too weak. 79 trivial. 0 not checked. [2018-11-23 12:14:14,128 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:14,128 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-23 12:14:14,129 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2018-11-23 12:14:14,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:14,130 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 12:14:14,225 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:14,225 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:14:14,225 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:14:14,226 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:14:14,226 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand 7 states. [2018-11-23 12:14:14,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:14,519 INFO L93 Difference]: Finished difference Result 67 states and 77 transitions. [2018-11-23 12:14:14,519 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:14:14,520 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2018-11-23 12:14:14,520 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:14,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:14:14,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2018-11-23 12:14:14,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:14:14,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2018-11-23 12:14:14,525 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2018-11-23 12:14:14,599 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:14,601 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:14:14,602 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 12:14:14,602 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:14:14,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 12:14:14,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2018-11-23 12:14:14,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:14,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 43 states. [2018-11-23 12:14:14,623 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 43 states. [2018-11-23 12:14:14,624 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 43 states. [2018-11-23 12:14:14,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:14,628 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2018-11-23 12:14:14,628 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2018-11-23 12:14:14,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:14,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:14,629 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 44 states. [2018-11-23 12:14:14,629 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 44 states. [2018-11-23 12:14:14,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:14,631 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2018-11-23 12:14:14,631 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2018-11-23 12:14:14,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:14,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:14,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:14,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:14,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:14:14,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2018-11-23 12:14:14,633 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 62 [2018-11-23 12:14:14,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:14,634 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2018-11-23 12:14:14,634 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:14:14,634 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2018-11-23 12:14:14,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 12:14:14,635 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:14,635 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 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:14,635 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:14,635 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:14,635 INFO L82 PathProgramCache]: Analyzing trace with hash -1321158677, now seen corresponding path program 6 times [2018-11-23 12:14:14,636 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:14,636 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:14,636 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:14,637 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:14,637 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:14,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:14,908 INFO L256 TraceCheckUtils]: 0: Hoare triple {2659#true} call ULTIMATE.init(); {2659#true} is VALID [2018-11-23 12:14:14,909 INFO L273 TraceCheckUtils]: 1: Hoare triple {2659#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2659#true} is VALID [2018-11-23 12:14:14,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:14,909 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2659#true} {2659#true} #66#return; {2659#true} is VALID [2018-11-23 12:14:14,909 INFO L256 TraceCheckUtils]: 4: Hoare triple {2659#true} call #t~ret12 := main(); {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 5: Hoare triple {2659#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 7: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 8: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 9: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:14,910 INFO L273 TraceCheckUtils]: 10: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 11: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 12: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 13: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 14: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 15: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L273 TraceCheckUtils]: 16: Hoare triple {2659#true} assume !(~i~1 < 5); {2659#true} is VALID [2018-11-23 12:14:14,911 INFO L256 TraceCheckUtils]: 17: Hoare triple {2659#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:14:14,912 INFO L273 TraceCheckUtils]: 18: Hoare triple {2659#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2661#(= avg_~i~0 0)} is VALID [2018-11-23 12:14:14,912 INFO L273 TraceCheckUtils]: 19: Hoare triple {2661#(= avg_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2661#(= avg_~i~0 0)} is VALID [2018-11-23 12:14:14,913 INFO L273 TraceCheckUtils]: 20: Hoare triple {2661#(= avg_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2662#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:14,913 INFO L273 TraceCheckUtils]: 21: Hoare triple {2662#(<= avg_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2662#(<= avg_~i~0 1)} is VALID [2018-11-23 12:14:14,913 INFO L273 TraceCheckUtils]: 22: Hoare triple {2662#(<= avg_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2663#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:14,914 INFO L273 TraceCheckUtils]: 23: Hoare triple {2663#(<= avg_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2663#(<= avg_~i~0 2)} is VALID [2018-11-23 12:14:14,914 INFO L273 TraceCheckUtils]: 24: Hoare triple {2663#(<= avg_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2664#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:14,915 INFO L273 TraceCheckUtils]: 25: Hoare triple {2664#(<= avg_~i~0 3)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2664#(<= avg_~i~0 3)} is VALID [2018-11-23 12:14:14,915 INFO L273 TraceCheckUtils]: 26: Hoare triple {2664#(<= avg_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2665#(<= avg_~i~0 4)} is VALID [2018-11-23 12:14:14,916 INFO L273 TraceCheckUtils]: 27: Hoare triple {2665#(<= avg_~i~0 4)} assume !(~i~0 < 5); {2660#false} is VALID [2018-11-23 12:14:14,916 INFO L273 TraceCheckUtils]: 28: Hoare triple {2660#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2660#false} is VALID [2018-11-23 12:14:14,916 INFO L273 TraceCheckUtils]: 29: Hoare triple {2660#false} assume true; {2660#false} is VALID [2018-11-23 12:14:14,916 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2660#false} {2659#true} #70#return; {2660#false} is VALID [2018-11-23 12:14:14,917 INFO L273 TraceCheckUtils]: 31: Hoare triple {2660#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); {2660#false} is VALID [2018-11-23 12:14:14,917 INFO L256 TraceCheckUtils]: 32: Hoare triple {2660#false} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:14:14,917 INFO L273 TraceCheckUtils]: 33: Hoare triple {2659#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2659#true} is VALID [2018-11-23 12:14:14,917 INFO L273 TraceCheckUtils]: 34: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,917 INFO L273 TraceCheckUtils]: 35: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,918 INFO L273 TraceCheckUtils]: 36: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,918 INFO L273 TraceCheckUtils]: 37: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,918 INFO L273 TraceCheckUtils]: 38: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,918 INFO L273 TraceCheckUtils]: 39: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,918 INFO L273 TraceCheckUtils]: 40: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,919 INFO L273 TraceCheckUtils]: 41: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,919 INFO L273 TraceCheckUtils]: 42: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:14:14,919 INFO L273 TraceCheckUtils]: 43: Hoare triple {2659#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:14:14,919 INFO L273 TraceCheckUtils]: 44: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:14,920 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2659#true} {2660#false} #72#return; {2660#false} is VALID [2018-11-23 12:14:14,920 INFO L273 TraceCheckUtils]: 46: Hoare triple {2660#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; {2660#false} is VALID [2018-11-23 12:14:14,920 INFO L273 TraceCheckUtils]: 47: Hoare triple {2660#false} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2660#false} is VALID [2018-11-23 12:14:14,920 INFO L273 TraceCheckUtils]: 48: Hoare triple {2660#false} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2660#false} is VALID [2018-11-23 12:14:14,920 INFO L273 TraceCheckUtils]: 49: Hoare triple {2660#false} assume !(~i~2 < 4); {2660#false} is VALID [2018-11-23 12:14:14,920 INFO L273 TraceCheckUtils]: 50: Hoare triple {2660#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {2660#false} is VALID [2018-11-23 12:14:14,921 INFO L256 TraceCheckUtils]: 51: Hoare triple {2660#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 52: Hoare triple {2659#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 53: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 54: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 55: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 56: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 57: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,921 INFO L273 TraceCheckUtils]: 58: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 59: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 60: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 61: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 62: Hoare triple {2659#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 63: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:14,922 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {2659#true} {2660#false} #74#return; {2660#false} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 65: Hoare triple {2660#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2660#false} is VALID [2018-11-23 12:14:14,922 INFO L273 TraceCheckUtils]: 66: Hoare triple {2660#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2660#false} is VALID [2018-11-23 12:14:14,923 INFO L273 TraceCheckUtils]: 67: Hoare triple {2660#false} assume !false; {2660#false} is VALID [2018-11-23 12:14:14,925 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 0 proven. 104 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2018-11-23 12:14:14,925 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:14,925 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:14,940 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:14:15,026 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:14:15,026 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:15,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:15,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:15,442 INFO L256 TraceCheckUtils]: 0: Hoare triple {2659#true} call ULTIMATE.init(); {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L273 TraceCheckUtils]: 1: Hoare triple {2659#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L273 TraceCheckUtils]: 2: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2659#true} {2659#true} #66#return; {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L256 TraceCheckUtils]: 4: Hoare triple {2659#true} call #t~ret12 := main(); {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L273 TraceCheckUtils]: 5: Hoare triple {2659#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L273 TraceCheckUtils]: 6: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:15,443 INFO L273 TraceCheckUtils]: 7: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 8: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 9: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 10: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 11: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 12: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 13: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 14: Hoare triple {2659#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {2659#true} is VALID [2018-11-23 12:14:15,444 INFO L273 TraceCheckUtils]: 15: Hoare triple {2659#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 16: Hoare triple {2659#true} assume !(~i~1 < 5); {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L256 TraceCheckUtils]: 17: Hoare triple {2659#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 18: Hoare triple {2659#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 19: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 20: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 21: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 22: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,445 INFO L273 TraceCheckUtils]: 23: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 24: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 25: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 26: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 27: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 28: Hoare triple {2659#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 29: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2659#true} {2659#true} #70#return; {2659#true} is VALID [2018-11-23 12:14:15,446 INFO L273 TraceCheckUtils]: 31: Hoare triple {2659#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); {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L256 TraceCheckUtils]: 32: Hoare triple {2659#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 33: Hoare triple {2659#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 34: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 35: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 36: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 37: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,447 INFO L273 TraceCheckUtils]: 38: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 39: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 40: Hoare triple {2659#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 41: Hoare triple {2659#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 42: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 43: Hoare triple {2659#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:14:15,448 INFO L273 TraceCheckUtils]: 44: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:14:15,449 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2659#true} {2659#true} #72#return; {2659#true} is VALID [2018-11-23 12:14:15,464 INFO L273 TraceCheckUtils]: 46: Hoare triple {2659#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; {2807#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:15,473 INFO L273 TraceCheckUtils]: 47: Hoare triple {2807#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {2807#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:15,487 INFO L273 TraceCheckUtils]: 48: Hoare triple {2807#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {2814#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:15,502 INFO L273 TraceCheckUtils]: 49: Hoare triple {2814#(<= main_~i~2 1)} assume !(~i~2 < 4); {2660#false} is VALID [2018-11-23 12:14:15,502 INFO L273 TraceCheckUtils]: 50: Hoare triple {2660#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L256 TraceCheckUtils]: 51: Hoare triple {2660#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L273 TraceCheckUtils]: 52: Hoare triple {2660#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L273 TraceCheckUtils]: 53: Hoare triple {2660#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L273 TraceCheckUtils]: 54: Hoare triple {2660#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L273 TraceCheckUtils]: 55: Hoare triple {2660#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2660#false} is VALID [2018-11-23 12:14:15,503 INFO L273 TraceCheckUtils]: 56: Hoare triple {2660#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 57: Hoare triple {2660#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 58: Hoare triple {2660#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 59: Hoare triple {2660#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 60: Hoare triple {2660#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 61: Hoare triple {2660#false} assume !(~i~0 < 5); {2660#false} is VALID [2018-11-23 12:14:15,504 INFO L273 TraceCheckUtils]: 62: Hoare triple {2660#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {2660#false} is VALID [2018-11-23 12:14:15,505 INFO L273 TraceCheckUtils]: 63: Hoare triple {2660#false} assume true; {2660#false} is VALID [2018-11-23 12:14:15,505 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {2660#false} {2660#false} #74#return; {2660#false} is VALID [2018-11-23 12:14:15,505 INFO L273 TraceCheckUtils]: 65: Hoare triple {2660#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {2660#false} is VALID [2018-11-23 12:14:15,505 INFO L273 TraceCheckUtils]: 66: Hoare triple {2660#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2660#false} is VALID [2018-11-23 12:14:15,505 INFO L273 TraceCheckUtils]: 67: Hoare triple {2660#false} assume !false; {2660#false} is VALID [2018-11-23 12:14:15,508 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 90 proven. 1 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2018-11-23 12:14:15,538 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:15,538 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4] total 9 [2018-11-23 12:14:15,539 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 68 [2018-11-23 12:14:15,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:15,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:14:15,630 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:15,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:14:15,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:14:15,630 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:14:15,631 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand 9 states. [2018-11-23 12:14:15,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:15,975 INFO L93 Difference]: Finished difference Result 73 states and 84 transitions. [2018-11-23 12:14:15,975 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:14:15,975 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 68 [2018-11-23 12:14:15,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:15,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:14:15,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2018-11-23 12:14:15,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:14:15,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2018-11-23 12:14:15,979 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 67 transitions. [2018-11-23 12:14:16,086 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:14:16,088 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:14:16,088 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 12:14:16,088 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:14:16,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 12:14:16,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2018-11-23 12:14:16,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:16,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 47 states. [2018-11-23 12:14:16,112 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 47 states. [2018-11-23 12:14:16,112 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 47 states. [2018-11-23 12:14:16,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:16,114 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2018-11-23 12:14:16,114 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2018-11-23 12:14:16,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:16,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:16,115 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 48 states. [2018-11-23 12:14:16,115 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 48 states. [2018-11-23 12:14:16,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:16,117 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2018-11-23 12:14:16,117 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2018-11-23 12:14:16,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:16,118 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:16,118 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:16,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:16,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 12:14:16,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2018-11-23 12:14:16,120 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 68 [2018-11-23 12:14:16,120 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:16,120 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2018-11-23 12:14:16,120 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:14:16,120 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-23 12:14:16,121 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-23 12:14:16,121 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:16,121 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 5, 5, 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:16,122 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:16,122 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:16,122 INFO L82 PathProgramCache]: Analyzing trace with hash 1461291623, now seen corresponding path program 7 times [2018-11-23 12:14:16,122 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:16,122 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:16,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:16,123 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:16,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:16,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:16,300 INFO L256 TraceCheckUtils]: 0: Hoare triple {3143#true} call ULTIMATE.init(); {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L273 TraceCheckUtils]: 1: Hoare triple {3143#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L273 TraceCheckUtils]: 2: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3143#true} {3143#true} #66#return; {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L256 TraceCheckUtils]: 4: Hoare triple {3143#true} call #t~ret12 := main(); {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L273 TraceCheckUtils]: 5: Hoare triple {3143#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3143#true} is VALID [2018-11-23 12:14:16,301 INFO L273 TraceCheckUtils]: 6: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 7: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 8: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 9: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 11: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 12: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 13: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,302 INFO L273 TraceCheckUtils]: 14: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 15: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 16: Hoare triple {3143#true} assume !(~i~1 < 5); {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L256 TraceCheckUtils]: 17: Hoare triple {3143#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 18: Hoare triple {3143#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 19: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 20: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 21: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,303 INFO L273 TraceCheckUtils]: 22: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 23: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 24: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 25: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 26: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 28: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 29: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:14:16,304 INFO L273 TraceCheckUtils]: 30: Hoare triple {3143#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 31: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3143#true} {3143#true} #70#return; {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 33: Hoare triple {3143#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); {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L256 TraceCheckUtils]: 34: Hoare triple {3143#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 35: Hoare triple {3143#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 36: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 37: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,305 INFO L273 TraceCheckUtils]: 38: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 39: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 40: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 41: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 42: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 43: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 44: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 45: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 46: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:14:16,306 INFO L273 TraceCheckUtils]: 47: Hoare triple {3143#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:14:16,307 INFO L273 TraceCheckUtils]: 48: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,307 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3143#true} {3143#true} #72#return; {3143#true} is VALID [2018-11-23 12:14:16,307 INFO L273 TraceCheckUtils]: 50: Hoare triple {3143#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; {3145#(= main_~i~2 0)} is VALID [2018-11-23 12:14:16,308 INFO L273 TraceCheckUtils]: 51: Hoare triple {3145#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3145#(= main_~i~2 0)} is VALID [2018-11-23 12:14:16,308 INFO L273 TraceCheckUtils]: 52: Hoare triple {3145#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3146#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:16,308 INFO L273 TraceCheckUtils]: 53: Hoare triple {3146#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3146#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:16,309 INFO L273 TraceCheckUtils]: 54: Hoare triple {3146#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3147#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:16,309 INFO L273 TraceCheckUtils]: 55: Hoare triple {3147#(<= main_~i~2 2)} assume !(~i~2 < 4); {3144#false} is VALID [2018-11-23 12:14:16,309 INFO L273 TraceCheckUtils]: 56: Hoare triple {3144#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {3144#false} is VALID [2018-11-23 12:14:16,310 INFO L256 TraceCheckUtils]: 57: Hoare triple {3144#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 58: Hoare triple {3143#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 59: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 60: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 61: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 62: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 63: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 64: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,310 INFO L273 TraceCheckUtils]: 65: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 66: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 67: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 68: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 69: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 70: Hoare triple {3143#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 71: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,311 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3143#true} {3144#false} #74#return; {3144#false} is VALID [2018-11-23 12:14:16,311 INFO L273 TraceCheckUtils]: 73: Hoare triple {3144#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3144#false} is VALID [2018-11-23 12:14:16,312 INFO L273 TraceCheckUtils]: 74: Hoare triple {3144#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3144#false} is VALID [2018-11-23 12:14:16,312 INFO L273 TraceCheckUtils]: 75: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2018-11-23 12:14:16,315 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 295 trivial. 0 not checked. [2018-11-23 12:14:16,315 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:16,315 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:16,324 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:16,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:16,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:16,384 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:16,474 INFO L256 TraceCheckUtils]: 0: Hoare triple {3143#true} call ULTIMATE.init(); {3143#true} is VALID [2018-11-23 12:14:16,474 INFO L273 TraceCheckUtils]: 1: Hoare triple {3143#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3143#true} is VALID [2018-11-23 12:14:16,474 INFO L273 TraceCheckUtils]: 2: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,475 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3143#true} {3143#true} #66#return; {3143#true} is VALID [2018-11-23 12:14:16,475 INFO L256 TraceCheckUtils]: 4: Hoare triple {3143#true} call #t~ret12 := main(); {3143#true} is VALID [2018-11-23 12:14:16,475 INFO L273 TraceCheckUtils]: 5: Hoare triple {3143#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3143#true} is VALID [2018-11-23 12:14:16,475 INFO L273 TraceCheckUtils]: 6: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,476 INFO L273 TraceCheckUtils]: 7: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,476 INFO L273 TraceCheckUtils]: 8: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,476 INFO L273 TraceCheckUtils]: 9: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,476 INFO L273 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,476 INFO L273 TraceCheckUtils]: 11: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L273 TraceCheckUtils]: 12: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L273 TraceCheckUtils]: 13: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L273 TraceCheckUtils]: 14: Hoare triple {3143#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L273 TraceCheckUtils]: 15: Hoare triple {3143#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L273 TraceCheckUtils]: 16: Hoare triple {3143#true} assume !(~i~1 < 5); {3143#true} is VALID [2018-11-23 12:14:16,477 INFO L256 TraceCheckUtils]: 17: Hoare triple {3143#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:14:16,478 INFO L273 TraceCheckUtils]: 18: Hoare triple {3143#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3143#true} is VALID [2018-11-23 12:14:16,478 INFO L273 TraceCheckUtils]: 19: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,478 INFO L273 TraceCheckUtils]: 20: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,478 INFO L273 TraceCheckUtils]: 21: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,478 INFO L273 TraceCheckUtils]: 22: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,479 INFO L273 TraceCheckUtils]: 23: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,479 INFO L273 TraceCheckUtils]: 24: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,479 INFO L273 TraceCheckUtils]: 25: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,479 INFO L273 TraceCheckUtils]: 26: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,480 INFO L273 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,480 INFO L273 TraceCheckUtils]: 28: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,480 INFO L273 TraceCheckUtils]: 29: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:14:16,480 INFO L273 TraceCheckUtils]: 30: Hoare triple {3143#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:14:16,480 INFO L273 TraceCheckUtils]: 31: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3143#true} {3143#true} #70#return; {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L273 TraceCheckUtils]: 33: Hoare triple {3143#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); {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L256 TraceCheckUtils]: 34: Hoare triple {3143#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L273 TraceCheckUtils]: 35: Hoare triple {3143#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L273 TraceCheckUtils]: 36: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,481 INFO L273 TraceCheckUtils]: 37: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,482 INFO L273 TraceCheckUtils]: 38: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,482 INFO L273 TraceCheckUtils]: 39: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,482 INFO L273 TraceCheckUtils]: 40: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,482 INFO L273 TraceCheckUtils]: 41: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,482 INFO L273 TraceCheckUtils]: 42: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 43: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 44: Hoare triple {3143#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 45: Hoare triple {3143#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 46: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 47: Hoare triple {3143#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:14:16,483 INFO L273 TraceCheckUtils]: 48: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:14:16,484 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3143#true} {3143#true} #72#return; {3143#true} is VALID [2018-11-23 12:14:16,488 INFO L273 TraceCheckUtils]: 50: Hoare triple {3143#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; {3301#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:16,489 INFO L273 TraceCheckUtils]: 51: Hoare triple {3301#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3301#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:16,489 INFO L273 TraceCheckUtils]: 52: Hoare triple {3301#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3146#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:16,490 INFO L273 TraceCheckUtils]: 53: Hoare triple {3146#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3146#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:16,491 INFO L273 TraceCheckUtils]: 54: Hoare triple {3146#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3147#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:16,492 INFO L273 TraceCheckUtils]: 55: Hoare triple {3147#(<= main_~i~2 2)} assume !(~i~2 < 4); {3144#false} is VALID [2018-11-23 12:14:16,492 INFO L273 TraceCheckUtils]: 56: Hoare triple {3144#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {3144#false} is VALID [2018-11-23 12:14:16,492 INFO L256 TraceCheckUtils]: 57: Hoare triple {3144#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3144#false} is VALID [2018-11-23 12:14:16,492 INFO L273 TraceCheckUtils]: 58: Hoare triple {3144#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3144#false} is VALID [2018-11-23 12:14:16,493 INFO L273 TraceCheckUtils]: 59: Hoare triple {3144#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3144#false} is VALID [2018-11-23 12:14:16,493 INFO L273 TraceCheckUtils]: 60: Hoare triple {3144#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3144#false} is VALID [2018-11-23 12:14:16,493 INFO L273 TraceCheckUtils]: 61: Hoare triple {3144#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3144#false} is VALID [2018-11-23 12:14:16,493 INFO L273 TraceCheckUtils]: 62: Hoare triple {3144#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3144#false} is VALID [2018-11-23 12:14:16,493 INFO L273 TraceCheckUtils]: 63: Hoare triple {3144#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3144#false} is VALID [2018-11-23 12:14:16,494 INFO L273 TraceCheckUtils]: 64: Hoare triple {3144#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3144#false} is VALID [2018-11-23 12:14:16,494 INFO L273 TraceCheckUtils]: 65: Hoare triple {3144#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3144#false} is VALID [2018-11-23 12:14:16,494 INFO L273 TraceCheckUtils]: 66: Hoare triple {3144#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3144#false} is VALID [2018-11-23 12:14:16,494 INFO L273 TraceCheckUtils]: 67: Hoare triple {3144#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3144#false} is VALID [2018-11-23 12:14:16,494 INFO L273 TraceCheckUtils]: 68: Hoare triple {3144#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L273 TraceCheckUtils]: 69: Hoare triple {3144#false} assume !(~i~0 < 5); {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L273 TraceCheckUtils]: 70: Hoare triple {3144#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L273 TraceCheckUtils]: 71: Hoare triple {3144#false} assume true; {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3144#false} {3144#false} #74#return; {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L273 TraceCheckUtils]: 73: Hoare triple {3144#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3144#false} is VALID [2018-11-23 12:14:16,495 INFO L273 TraceCheckUtils]: 74: Hoare triple {3144#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3144#false} is VALID [2018-11-23 12:14:16,496 INFO L273 TraceCheckUtils]: 75: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2018-11-23 12:14:16,498 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 130 proven. 4 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2018-11-23 12:14:16,519 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:16,519 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:14:16,519 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 76 [2018-11-23 12:14:16,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:16,520 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:14:16,631 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:16,631 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:14:16,631 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:14:16,632 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:14:16,632 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand 6 states. [2018-11-23 12:14:16,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:16,776 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2018-11-23 12:14:16,776 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:14:16,776 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 76 [2018-11-23 12:14:16,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:16,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:16,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-11-23 12:14:16,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:14:16,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-11-23 12:14:16,779 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2018-11-23 12:14:16,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:16,826 INFO L225 Difference]: With dead ends: 71 [2018-11-23 12:14:16,826 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:14:16,827 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 76 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:16,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:14:16,853 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2018-11-23 12:14:16,853 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:16,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:16,853 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:16,853 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 49 states. [2018-11-23 12:14:16,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:16,856 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:14:16,856 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:14:16,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:16,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:16,857 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 50 states. [2018-11-23 12:14:16,857 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 50 states. [2018-11-23 12:14:16,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:16,859 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:14:16,859 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:14:16,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:16,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:16,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:16,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:16,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:14:16,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-23 12:14:16,861 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 76 [2018-11-23 12:14:16,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:16,862 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-23 12:14:16,862 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:14:16,862 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 12:14:16,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 12:14:16,863 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:16,863 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 5, 5, 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:16,863 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:16,863 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:16,864 INFO L82 PathProgramCache]: Analyzing trace with hash 2023844581, now seen corresponding path program 8 times [2018-11-23 12:14:16,864 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:16,864 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:16,865 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:16,865 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:14:16,865 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:16,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:17,508 INFO L256 TraceCheckUtils]: 0: Hoare triple {3652#true} call ULTIMATE.init(); {3652#true} is VALID [2018-11-23 12:14:17,508 INFO L273 TraceCheckUtils]: 1: Hoare triple {3652#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3652#true} is VALID [2018-11-23 12:14:17,508 INFO L273 TraceCheckUtils]: 2: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,508 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3652#true} {3652#true} #66#return; {3652#true} is VALID [2018-11-23 12:14:17,508 INFO L256 TraceCheckUtils]: 4: Hoare triple {3652#true} call #t~ret12 := main(); {3652#true} is VALID [2018-11-23 12:14:17,508 INFO L273 TraceCheckUtils]: 5: Hoare triple {3652#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 6: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 7: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 8: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 9: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 10: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 11: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,509 INFO L273 TraceCheckUtils]: 12: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 13: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 14: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 15: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 16: Hoare triple {3652#true} assume !(~i~1 < 5); {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L256 TraceCheckUtils]: 17: Hoare triple {3652#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 18: Hoare triple {3652#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 19: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,510 INFO L273 TraceCheckUtils]: 20: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 21: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 22: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 23: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 24: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 25: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 26: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 27: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,511 INFO L273 TraceCheckUtils]: 28: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 29: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 30: Hoare triple {3652#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 31: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3652#true} {3652#true} #70#return; {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 33: Hoare triple {3652#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); {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L256 TraceCheckUtils]: 34: Hoare triple {3652#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 35: Hoare triple {3652#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3652#true} is VALID [2018-11-23 12:14:17,512 INFO L273 TraceCheckUtils]: 36: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 37: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 38: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 39: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 40: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 41: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 42: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 43: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 44: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,513 INFO L273 TraceCheckUtils]: 45: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,514 INFO L273 TraceCheckUtils]: 46: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:14:17,514 INFO L273 TraceCheckUtils]: 47: Hoare triple {3652#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:14:17,514 INFO L273 TraceCheckUtils]: 48: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,514 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3652#true} {3652#true} #72#return; {3652#true} is VALID [2018-11-23 12:14:17,514 INFO L273 TraceCheckUtils]: 50: Hoare triple {3652#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; {3654#(= main_~i~2 0)} is VALID [2018-11-23 12:14:17,515 INFO L273 TraceCheckUtils]: 51: Hoare triple {3654#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3654#(= main_~i~2 0)} is VALID [2018-11-23 12:14:17,519 INFO L273 TraceCheckUtils]: 52: Hoare triple {3654#(= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3655#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:17,519 INFO L273 TraceCheckUtils]: 53: Hoare triple {3655#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3655#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:17,520 INFO L273 TraceCheckUtils]: 54: Hoare triple {3655#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3656#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:17,520 INFO L273 TraceCheckUtils]: 55: Hoare triple {3656#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3656#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:17,521 INFO L273 TraceCheckUtils]: 56: Hoare triple {3656#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3657#(<= main_~i~2 3)} is VALID [2018-11-23 12:14:17,521 INFO L273 TraceCheckUtils]: 57: Hoare triple {3657#(<= main_~i~2 3)} assume !(~i~2 < 4); {3653#false} is VALID [2018-11-23 12:14:17,521 INFO L273 TraceCheckUtils]: 58: Hoare triple {3653#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {3653#false} is VALID [2018-11-23 12:14:17,521 INFO L256 TraceCheckUtils]: 59: Hoare triple {3653#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 60: Hoare triple {3652#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 61: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 62: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 63: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 64: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 65: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,522 INFO L273 TraceCheckUtils]: 66: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 67: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 68: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 69: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 70: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 71: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 72: Hoare triple {3652#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 73: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,523 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {3652#true} {3653#false} #74#return; {3653#false} is VALID [2018-11-23 12:14:17,523 INFO L273 TraceCheckUtils]: 75: Hoare triple {3653#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3653#false} is VALID [2018-11-23 12:14:17,524 INFO L273 TraceCheckUtils]: 76: Hoare triple {3653#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3653#false} is VALID [2018-11-23 12:14:17,524 INFO L273 TraceCheckUtils]: 77: Hoare triple {3653#false} assume !false; {3653#false} is VALID [2018-11-23 12:14:17,530 INFO L134 CoverageAnalysis]: Checked inductivity of 304 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 295 trivial. 0 not checked. [2018-11-23 12:14:17,530 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:14:17,530 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:17,539 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:14:17,583 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:14:17,583 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:14:17,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:17,616 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:14:17,731 INFO L256 TraceCheckUtils]: 0: Hoare triple {3652#true} call ULTIMATE.init(); {3652#true} is VALID [2018-11-23 12:14:17,731 INFO L273 TraceCheckUtils]: 1: Hoare triple {3652#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3652#true} is VALID [2018-11-23 12:14:17,731 INFO L273 TraceCheckUtils]: 2: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,731 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3652#true} {3652#true} #66#return; {3652#true} is VALID [2018-11-23 12:14:17,732 INFO L256 TraceCheckUtils]: 4: Hoare triple {3652#true} call #t~ret12 := main(); {3652#true} is VALID [2018-11-23 12:14:17,732 INFO L273 TraceCheckUtils]: 5: Hoare triple {3652#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0; {3652#true} is VALID [2018-11-23 12:14:17,732 INFO L273 TraceCheckUtils]: 6: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,732 INFO L273 TraceCheckUtils]: 7: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 8: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 9: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 10: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 11: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 12: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 13: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 14: Hoare triple {3652#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#x~0.base, ~#x~0.offset + 4 * ~i~1, 4);havoc #t~nondet3; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 15: Hoare triple {3652#true} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3652#true} is VALID [2018-11-23 12:14:17,733 INFO L273 TraceCheckUtils]: 16: Hoare triple {3652#true} assume !(~i~1 < 5); {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L256 TraceCheckUtils]: 17: Hoare triple {3652#true} call #t~ret4 := avg(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 18: Hoare triple {3652#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 19: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 20: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 21: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 22: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 23: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,734 INFO L273 TraceCheckUtils]: 24: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 25: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 27: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 28: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 29: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 30: Hoare triple {3652#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L273 TraceCheckUtils]: 31: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,735 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3652#true} {3652#true} #70#return; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 33: Hoare triple {3652#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); {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L256 TraceCheckUtils]: 34: Hoare triple {3652#true} call #t~ret7 := avg(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 35: Hoare triple {3652#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 36: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 37: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 38: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 39: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 40: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,736 INFO L273 TraceCheckUtils]: 41: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 42: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 43: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 44: Hoare triple {3652#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 45: Hoare triple {3652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 46: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 47: Hoare triple {3652#true} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L273 TraceCheckUtils]: 48: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:14:17,737 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3652#true} {3652#true} #72#return; {3652#true} is VALID [2018-11-23 12:14:17,738 INFO L273 TraceCheckUtils]: 50: Hoare triple {3652#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; {3811#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:17,738 INFO L273 TraceCheckUtils]: 51: Hoare triple {3811#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3811#(<= main_~i~2 0)} is VALID [2018-11-23 12:14:17,739 INFO L273 TraceCheckUtils]: 52: Hoare triple {3811#(<= main_~i~2 0)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3655#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:17,739 INFO L273 TraceCheckUtils]: 53: Hoare triple {3655#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3655#(<= main_~i~2 1)} is VALID [2018-11-23 12:14:17,740 INFO L273 TraceCheckUtils]: 54: Hoare triple {3655#(<= main_~i~2 1)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3656#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:17,740 INFO L273 TraceCheckUtils]: 55: Hoare triple {3656#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 4 * (1 + ~i~2), 4);call write~int(#t~mem10, ~#x~0.base, ~#x~0.offset + 4 * ~i~2, 4);havoc #t~mem10; {3656#(<= main_~i~2 2)} is VALID [2018-11-23 12:14:17,741 INFO L273 TraceCheckUtils]: 56: Hoare triple {3656#(<= main_~i~2 2)} #t~post9 := ~i~2;~i~2 := 1 + #t~post9;havoc #t~post9; {3657#(<= main_~i~2 3)} is VALID [2018-11-23 12:14:17,741 INFO L273 TraceCheckUtils]: 57: Hoare triple {3657#(<= main_~i~2 3)} assume !(~i~2 < 4); {3653#false} is VALID [2018-11-23 12:14:17,742 INFO L273 TraceCheckUtils]: 58: Hoare triple {3653#false} call write~int(~temp~0, ~#x~0.base, 16 + ~#x~0.offset, 4); {3653#false} is VALID [2018-11-23 12:14:17,742 INFO L256 TraceCheckUtils]: 59: Hoare triple {3653#false} call #t~ret11 := avg(~#x~0.base, ~#x~0.offset); {3653#false} is VALID [2018-11-23 12:14:17,742 INFO L273 TraceCheckUtils]: 60: Hoare triple {3653#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3653#false} is VALID [2018-11-23 12:14:17,742 INFO L273 TraceCheckUtils]: 61: Hoare triple {3653#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3653#false} is VALID [2018-11-23 12:14:17,743 INFO L273 TraceCheckUtils]: 62: Hoare triple {3653#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3653#false} is VALID [2018-11-23 12:14:17,743 INFO L273 TraceCheckUtils]: 63: Hoare triple {3653#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3653#false} is VALID [2018-11-23 12:14:17,743 INFO L273 TraceCheckUtils]: 64: Hoare triple {3653#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3653#false} is VALID [2018-11-23 12:14:17,743 INFO L273 TraceCheckUtils]: 65: Hoare triple {3653#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3653#false} is VALID [2018-11-23 12:14:17,743 INFO L273 TraceCheckUtils]: 66: Hoare triple {3653#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3653#false} is VALID [2018-11-23 12:14:17,744 INFO L273 TraceCheckUtils]: 67: Hoare triple {3653#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3653#false} is VALID [2018-11-23 12:14:17,744 INFO L273 TraceCheckUtils]: 68: Hoare triple {3653#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3653#false} is VALID [2018-11-23 12:14:17,744 INFO L273 TraceCheckUtils]: 69: Hoare triple {3653#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + 4 * ~i~0, 4);~ret~0 := ~ret~0 + #t~mem1;havoc #t~mem1; {3653#false} is VALID [2018-11-23 12:14:17,744 INFO L273 TraceCheckUtils]: 70: Hoare triple {3653#false} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3653#false} is VALID [2018-11-23 12:14:17,744 INFO L273 TraceCheckUtils]: 71: Hoare triple {3653#false} assume !(~i~0 < 5); {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L273 TraceCheckUtils]: 72: Hoare triple {3653#false} #res := (if (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 <= 2147483647 then (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 else (if ~ret~0 < 0 && 0 != ~ret~0 % 5 then 1 + ~ret~0 / 5 else ~ret~0 / 5) % 4294967296 - 4294967296); {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L273 TraceCheckUtils]: 73: Hoare triple {3653#false} assume true; {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {3653#false} {3653#false} #74#return; {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L273 TraceCheckUtils]: 75: Hoare triple {3653#false} assume -2147483648 <= #t~ret11 && #t~ret11 <= 2147483647;~ret5~0 := #t~ret11;havoc #t~ret11; {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L273 TraceCheckUtils]: 76: Hoare triple {3653#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3653#false} is VALID [2018-11-23 12:14:17,745 INFO L273 TraceCheckUtils]: 77: Hoare triple {3653#false} assume !false; {3653#false} is VALID [2018-11-23 12:14:17,748 INFO L134 CoverageAnalysis]: Checked inductivity of 304 backedges. 130 proven. 9 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2018-11-23 12:14:17,768 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:14:17,768 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-23 12:14:17,768 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 78 [2018-11-23 12:14:17,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:14:17,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 12:14:17,810 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:17,811 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:14:17,811 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:14:17,811 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:14:17,812 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 7 states. [2018-11-23 12:14:17,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:17,970 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2018-11-23 12:14:17,970 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:14:17,971 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 78 [2018-11-23 12:14:17,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:14:17,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:14:17,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 12:14:17,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:14:17,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 12:14:17,973 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2018-11-23 12:14:18,022 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:14:18,023 INFO L225 Difference]: With dead ends: 72 [2018-11-23 12:14:18,023 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 12:14:18,024 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:14:18,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 12:14:18,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 12:14:18,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:14:18,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 51 states. [2018-11-23 12:14:18,043 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 51 states. [2018-11-23 12:14:18,043 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 51 states. [2018-11-23 12:14:18,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:18,046 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2018-11-23 12:14:18,046 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:14:18,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:18,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:18,047 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 51 states. [2018-11-23 12:14:18,047 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 51 states. [2018-11-23 12:14:18,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:14:18,049 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2018-11-23 12:14:18,049 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:14:18,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:14:18,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:14:18,049 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:14:18,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:14:18,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:14:18,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2018-11-23 12:14:18,051 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 78 [2018-11-23 12:14:18,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:14:18,052 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2018-11-23 12:14:18,052 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:14:18,052 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:14:18,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-23 12:14:18,053 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:14:18,053 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 5, 5, 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:18,053 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:14:18,054 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:14:18,054 INFO L82 PathProgramCache]: Analyzing trace with hash 1471357923, now seen corresponding path program 9 times [2018-11-23 12:14:18,054 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:14:18,054 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:14:18,055 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:18,055 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:14:18,055 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:14:19,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:14:24,735 WARN L180 SmtUtils]: Spent 177.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 3 [2018-11-23 12:14:25,575 WARN L180 SmtUtils]: Spent 517.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 21 [2018-11-23 12:14:26,677 WARN L180 SmtUtils]: Spent 628.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 20 [2018-11-23 12:14:27,764 WARN L180 SmtUtils]: Spent 565.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 25 [2018-11-23 12:14:28,120 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 35 [2018-11-23 12:14:28,699 WARN L180 SmtUtils]: Spent 129.00 ms on a formula simplification. DAG size of input: 82 DAG size of output: 45 [2018-11-23 12:14:29,169 WARN L180 SmtUtils]: Spent 313.00 ms on a formula simplification. DAG size of input: 112 DAG size of output: 48 [2018-11-23 12:14:29,386 WARN L180 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 46 [2018-11-23 12:14:29,610 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 40 [2018-11-23 12:14:30,166 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: must not be argument of unary minus + at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:115) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:131) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:154) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 12:14:30,171 INFO L168 Benchmark]: Toolchain (without parser) took 27365.31 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -484.2 MB). Peak memory consumption was 587.9 MB. Max. memory is 7.1 GB. [2018-11-23 12:14:30,172 INFO L168 Benchmark]: CDTParser took 2.30 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:14:30,173 INFO L168 Benchmark]: CACSL2BoogieTranslator took 412.32 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-23 12:14:30,173 INFO L168 Benchmark]: Boogie Procedure Inliner took 27.42 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:14:30,174 INFO L168 Benchmark]: Boogie Preprocessor took 39.39 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:14:30,174 INFO L168 Benchmark]: RCFGBuilder took 854.82 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 732.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -769.5 MB). Peak memory consumption was 15.0 MB. Max. memory is 7.1 GB. [2018-11-23 12:14:30,175 INFO L168 Benchmark]: TraceAbstraction took 26025.55 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 339.7 MB). Free memory was 2.2 GB in the beginning and 1.9 GB in the end (delta: 274.8 MB). Peak memory consumption was 614.5 MB. Max. memory is 7.1 GB. [2018-11-23 12:14:30,179 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 2.30 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 412.32 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 27.42 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 39.39 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 854.82 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 732.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -769.5 MB). Peak memory consumption was 15.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 26025.55 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 339.7 MB). Free memory was 2.2 GB in the beginning and 1.9 GB in the end (delta: 274.8 MB). Peak memory consumption was 614.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: must not be argument of unary minus + de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: must not be argument of unary minus +: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:115) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...