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/sum05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:16:47,684 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:16:47,686 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:16:47,703 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:16:47,703 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:16:47,704 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:16:47,706 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:16:47,707 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:16:47,709 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:16:47,710 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:16:47,711 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:16:47,711 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:16:47,712 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:16:47,713 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:16:47,716 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:16:47,719 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:16:47,720 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:16:47,724 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:16:47,731 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:16:47,735 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:16:47,736 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:16:47,737 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:16:47,742 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:16:47,742 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:16:47,742 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:16:47,746 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:16:47,747 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:16:47,748 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:16:47,749 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:16:47,752 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:16:47,753 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:16:47,753 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:16:47,754 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:16:47,754 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:16:47,755 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:16:47,756 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:16:47,756 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:16:47,784 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:16:47,785 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:16:47,785 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:16:47,788 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:16:47,789 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:16:47,789 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:16:47,789 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:16:47,789 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:16:47,790 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:16:47,790 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:16:47,790 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:16:47,790 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:16:47,790 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:16:47,791 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:16:47,793 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:16:47,793 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:16:47,793 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:16:47,793 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:16:47,793 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:16:47,794 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:16:47,794 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:16:47,794 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:16:47,794 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:16:47,794 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:16:47,795 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:16:47,795 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:16:47,795 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:16:47,795 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:16:47,795 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:16:47,796 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:16:47,796 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:16:47,852 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:16:47,870 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:16:47,873 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:16:47,875 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:16:47,875 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:16:47,876 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sum05_true-unreach-call_true-termination.i [2018-11-23 12:16:47,934 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5efca949/d600da1e02f14dd9b7e0c21d8a321d8d/FLAGa5817fd1f [2018-11-23 12:16:48,332 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:16:48,333 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sum05_true-unreach-call_true-termination.i [2018-11-23 12:16:48,340 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5efca949/d600da1e02f14dd9b7e0c21d8a321d8d/FLAGa5817fd1f [2018-11-23 12:16:48,721 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a5efca949/d600da1e02f14dd9b7e0c21d8a321d8d [2018-11-23 12:16:48,731 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:16:48,733 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:16:48,734 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:48,734 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:16:48,738 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:16:48,739 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:48" (1/1) ... [2018-11-23 12:16:48,742 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@645f74d3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:48, skipping insertion in model container [2018-11-23 12:16:48,742 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:16:48" (1/1) ... [2018-11-23 12:16:48,753 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:16:48,778 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:16:49,059 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:49,076 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:16:49,108 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:16:49,124 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:16:49,125 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49 WrapperNode [2018-11-23 12:16:49,125 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:16:49,126 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:49,126 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:16:49,126 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:16:49,133 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:16:49" (1/1) ... [2018-11-23 12:16:49,142 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:16:49" (1/1) ... [2018-11-23 12:16:49,150 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:16:49,150 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:16:49,150 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:16:49,150 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:16:49,158 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,158 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,160 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,161 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,173 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,179 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,181 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (1/1) ... [2018-11-23 12:16:49,183 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:16:49,184 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:16:49,184 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:16:49,184 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:16:49,185 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (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:16:49,308 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:16:49,309 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:16:49,309 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:16:49,309 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:16:49,309 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:16:49,309 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:16:49,309 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:16:49,309 INFO L130 BoogieDeclarations]: Found specification of procedure sum [2018-11-23 12:16:49,310 INFO L138 BoogieDeclarations]: Found implementation of procedure sum [2018-11-23 12:16:49,310 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:16:49,310 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:16:49,310 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:16:49,975 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:16:49,975 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:16:49,976 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:49 BoogieIcfgContainer [2018-11-23 12:16:49,976 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:16:49,977 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:16:49,977 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:16:49,981 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:16:49,981 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:16:48" (1/3) ... [2018-11-23 12:16:49,982 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c8c9293 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:49, skipping insertion in model container [2018-11-23 12:16:49,982 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:16:49" (2/3) ... [2018-11-23 12:16:49,983 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c8c9293 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:16:49, skipping insertion in model container [2018-11-23 12:16:49,983 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:16:49" (3/3) ... [2018-11-23 12:16:49,985 INFO L112 eAbstractionObserver]: Analyzing ICFG sum05_true-unreach-call_true-termination.i [2018-11-23 12:16:49,995 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:16:50,003 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:16:50,020 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:16:50,052 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:16:50,053 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:16:50,053 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:16:50,054 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:16:50,054 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:16:50,054 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:16:50,054 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:16:50,054 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:16:50,055 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:16:50,072 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states. [2018-11-23 12:16:50,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:50,078 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:50,079 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:16:50,082 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:50,087 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:50,088 INFO L82 PathProgramCache]: Analyzing trace with hash -1461178031, now seen corresponding path program 1 times [2018-11-23 12:16:50,089 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:50,090 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:50,137 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:50,137 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:50,137 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:50,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:50,278 INFO L256 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {34#true} is VALID [2018-11-23 12:16:50,282 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:16:50,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:16:50,283 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #66#return; {34#true} is VALID [2018-11-23 12:16:50,283 INFO L256 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret12 := main(); {34#true} is VALID [2018-11-23 12:16:50,283 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:16:50,284 INFO L273 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2018-11-23 12:16:50,284 INFO L256 TraceCheckUtils]: 7: Hoare triple {35#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:16:50,285 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:16:50,285 INFO L273 TraceCheckUtils]: 9: Hoare triple {34#true} assume !true; {34#true} is VALID [2018-11-23 12:16:50,285 INFO L273 TraceCheckUtils]: 10: Hoare triple {34#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:16:50,285 INFO L273 TraceCheckUtils]: 11: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:16:50,286 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {34#true} {35#false} #70#return; {35#false} is VALID [2018-11-23 12:16:50,286 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:16:50,287 INFO L256 TraceCheckUtils]: 14: Hoare triple {35#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:16:50,287 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:16:50,287 INFO L273 TraceCheckUtils]: 16: Hoare triple {34#true} assume !true; {34#true} is VALID [2018-11-23 12:16:50,288 INFO L273 TraceCheckUtils]: 17: Hoare triple {34#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:16:50,288 INFO L273 TraceCheckUtils]: 18: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:16:50,288 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {34#true} {35#false} #72#return; {35#false} is VALID [2018-11-23 12:16:50,289 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:16:50,289 INFO L273 TraceCheckUtils]: 21: Hoare triple {35#false} assume !true; {35#false} is VALID [2018-11-23 12:16:50,289 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:16:50,290 INFO L256 TraceCheckUtils]: 23: Hoare triple {35#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {34#true} is VALID [2018-11-23 12:16:50,290 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:16:50,290 INFO L273 TraceCheckUtils]: 25: Hoare triple {34#true} assume !true; {34#true} is VALID [2018-11-23 12:16:50,291 INFO L273 TraceCheckUtils]: 26: Hoare triple {34#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {34#true} is VALID [2018-11-23 12:16:50,291 INFO L273 TraceCheckUtils]: 27: Hoare triple {34#true} assume true; {34#true} is VALID [2018-11-23 12:16:50,291 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {34#true} {35#false} #74#return; {35#false} is VALID [2018-11-23 12:16:50,292 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:16:50,292 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:16:50,292 INFO L273 TraceCheckUtils]: 31: Hoare triple {35#false} assume !false; {35#false} is VALID [2018-11-23 12:16:50,299 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:16:50,301 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:50,302 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:16:50,307 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:50,310 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:50,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:16:50,576 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:16:50,576 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:16:50,586 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:16:50,587 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:16:50,590 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 2 states. [2018-11-23 12:16:50,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:50,932 INFO L93 Difference]: Finished difference Result 54 states and 71 transitions. [2018-11-23 12:16:50,932 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:16:50,932 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 12:16:50,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:50,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:50,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:16:50,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:16:50,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:16:50,951 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2018-11-23 12:16:51,251 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:51,262 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:16:51,262 INFO L226 Difference]: Without dead ends: 26 [2018-11-23 12:16:51,266 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:16:51,281 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2018-11-23 12:16:51,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2018-11-23 12:16:51,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:51,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand 26 states. [2018-11-23 12:16:51,313 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:16:51,314 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:16:51,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,321 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:16:51,321 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:16:51,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,322 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 26 states. [2018-11-23 12:16:51,322 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 26 states. [2018-11-23 12:16:51,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:51,326 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2018-11-23 12:16:51,327 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:16:51,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:51,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:51,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:51,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:51,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-23 12:16:51,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 30 transitions. [2018-11-23 12:16:51,333 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 30 transitions. Word has length 32 [2018-11-23 12:16:51,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:51,334 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 30 transitions. [2018-11-23 12:16:51,334 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:16:51,334 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2018-11-23 12:16:51,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:16:51,336 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:51,336 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:16:51,336 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:51,337 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:51,337 INFO L82 PathProgramCache]: Analyzing trace with hash -595992629, now seen corresponding path program 1 times [2018-11-23 12:16:51,337 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:51,337 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:51,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,339 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:51,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:51,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:51,437 INFO L256 TraceCheckUtils]: 0: Hoare triple {198#true} call ULTIMATE.init(); {198#true} is VALID [2018-11-23 12:16:51,438 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:16:51,438 INFO L273 TraceCheckUtils]: 2: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:16:51,438 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {198#true} {198#true} #66#return; {198#true} is VALID [2018-11-23 12:16:51,439 INFO L256 TraceCheckUtils]: 4: Hoare triple {198#true} call #t~ret12 := main(); {198#true} is VALID [2018-11-23 12:16:51,440 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:16:51,443 INFO L273 TraceCheckUtils]: 6: Hoare triple {200#(= main_~i~1 0)} assume !(~i~1 < 5); {199#false} is VALID [2018-11-23 12:16:51,443 INFO L256 TraceCheckUtils]: 7: Hoare triple {199#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:16:51,443 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:16:51,443 INFO L273 TraceCheckUtils]: 9: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:16:51,444 INFO L273 TraceCheckUtils]: 10: Hoare triple {198#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:16:51,444 INFO L273 TraceCheckUtils]: 11: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:16:51,444 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {198#true} {199#false} #70#return; {199#false} is VALID [2018-11-23 12:16:51,445 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:16:51,445 INFO L256 TraceCheckUtils]: 14: Hoare triple {199#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:16:51,445 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:16:51,445 INFO L273 TraceCheckUtils]: 16: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:16:51,446 INFO L273 TraceCheckUtils]: 17: Hoare triple {198#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:16:51,446 INFO L273 TraceCheckUtils]: 18: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:16:51,446 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {198#true} {199#false} #72#return; {199#false} is VALID [2018-11-23 12:16:51,446 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:16:51,447 INFO L273 TraceCheckUtils]: 21: Hoare triple {199#false} assume !(~i~2 < 4); {199#false} is VALID [2018-11-23 12:16:51,447 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:16:51,447 INFO L256 TraceCheckUtils]: 23: Hoare triple {199#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {198#true} is VALID [2018-11-23 12:16:51,448 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:16:51,448 INFO L273 TraceCheckUtils]: 25: Hoare triple {198#true} assume !(~i~0 < 5); {198#true} is VALID [2018-11-23 12:16:51,448 INFO L273 TraceCheckUtils]: 26: Hoare triple {198#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {198#true} is VALID [2018-11-23 12:16:51,449 INFO L273 TraceCheckUtils]: 27: Hoare triple {198#true} assume true; {198#true} is VALID [2018-11-23 12:16:51,449 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {198#true} {199#false} #74#return; {199#false} is VALID [2018-11-23 12:16:51,449 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:16:51,450 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:16:51,450 INFO L273 TraceCheckUtils]: 31: Hoare triple {199#false} assume !false; {199#false} is VALID [2018-11-23 12:16:51,452 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:16:51,453 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:51,453 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:51,454 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:51,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:51,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:51,514 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:16:51,514 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:51,514 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:51,515 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:51,515 INFO L87 Difference]: Start difference. First operand 26 states and 30 transitions. Second operand 3 states. [2018-11-23 12:16:52,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,055 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-23 12:16:52,055 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:52,056 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 12:16:52,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:52,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:52,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:16:52,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:52,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:16:52,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-23 12:16:52,200 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:16:52,202 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:16:52,202 INFO L226 Difference]: Without dead ends: 28 [2018-11-23 12:16:52,203 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:16:52,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-23 12:16:52,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2018-11-23 12:16:52,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:52,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 27 states. [2018-11-23 12:16:52,228 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 27 states. [2018-11-23 12:16:52,228 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 27 states. [2018-11-23 12:16:52,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,232 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:16:52,232 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:16:52,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:52,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:52,233 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 28 states. [2018-11-23 12:16:52,233 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 28 states. [2018-11-23 12:16:52,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,236 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:16:52,236 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:16:52,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:52,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:52,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:52,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:52,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 12:16:52,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2018-11-23 12:16:52,241 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 32 [2018-11-23 12:16:52,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:52,241 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2018-11-23 12:16:52,241 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:52,241 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 12:16:52,242 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 12:16:52,243 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:52,243 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:16:52,243 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:52,244 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:52,244 INFO L82 PathProgramCache]: Analyzing trace with hash 169606189, now seen corresponding path program 1 times [2018-11-23 12:16:52,244 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:52,244 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:52,245 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:52,245 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:52,246 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:52,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:52,367 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:16:52,368 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:16:52,368 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:16:52,368 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:16:52,369 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:16:52,369 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:16:52,369 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:16:52,369 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:16:52,370 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 5); {362#true} is VALID [2018-11-23 12:16:52,370 INFO L256 TraceCheckUtils]: 9: Hoare triple {362#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:16:52,373 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#(= sum_~i~0 0)} is VALID [2018-11-23 12:16:52,374 INFO L273 TraceCheckUtils]: 11: Hoare triple {364#(= sum_~i~0 0)} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:16:52,374 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:16:52,374 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:16:52,374 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:16:52,375 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:16:52,375 INFO L256 TraceCheckUtils]: 16: Hoare triple {363#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:16:52,375 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:16:52,375 INFO L273 TraceCheckUtils]: 18: Hoare triple {362#true} assume !(~i~0 < 5); {362#true} is VALID [2018-11-23 12:16:52,376 INFO L273 TraceCheckUtils]: 19: Hoare triple {362#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:16:52,376 INFO L273 TraceCheckUtils]: 20: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:16:52,376 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {362#true} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:16:52,377 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:16:52,377 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 4); {363#false} is VALID [2018-11-23 12:16:52,377 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:16:52,378 INFO L256 TraceCheckUtils]: 25: Hoare triple {363#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:16:52,378 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:16:52,378 INFO L273 TraceCheckUtils]: 27: Hoare triple {362#true} assume !(~i~0 < 5); {362#true} is VALID [2018-11-23 12:16:52,379 INFO L273 TraceCheckUtils]: 28: Hoare triple {362#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {362#true} is VALID [2018-11-23 12:16:52,379 INFO L273 TraceCheckUtils]: 29: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:16:52,379 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {362#true} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:16:52,380 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:16:52,380 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:16:52,380 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:16:52,383 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:16:52,383 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:52,383 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:16:52,401 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:52,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:52,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:52,455 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:52,600 INFO L256 TraceCheckUtils]: 0: Hoare triple {362#true} call ULTIMATE.init(); {362#true} is VALID [2018-11-23 12:16:52,600 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:16:52,601 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#true} assume true; {362#true} is VALID [2018-11-23 12:16:52,601 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {362#true} {362#true} #66#return; {362#true} is VALID [2018-11-23 12:16:52,601 INFO L256 TraceCheckUtils]: 4: Hoare triple {362#true} call #t~ret12 := main(); {362#true} is VALID [2018-11-23 12:16:52,602 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:16:52,602 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:16:52,603 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:16:52,603 INFO L273 TraceCheckUtils]: 8: Hoare triple {362#true} assume !(~i~1 < 5); {362#true} is VALID [2018-11-23 12:16:52,604 INFO L256 TraceCheckUtils]: 9: Hoare triple {362#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {362#true} is VALID [2018-11-23 12:16:52,607 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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:52,608 INFO L273 TraceCheckUtils]: 11: Hoare triple {398#(<= sum_~i~0 0)} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:16:52,608 INFO L273 TraceCheckUtils]: 12: Hoare triple {363#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:16:52,609 INFO L273 TraceCheckUtils]: 13: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:16:52,609 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {363#false} {362#true} #70#return; {363#false} is VALID [2018-11-23 12:16:52,609 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:16:52,609 INFO L256 TraceCheckUtils]: 16: Hoare triple {363#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {363#false} is VALID [2018-11-23 12:16:52,610 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:16:52,610 INFO L273 TraceCheckUtils]: 18: Hoare triple {363#false} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:16:52,610 INFO L273 TraceCheckUtils]: 19: Hoare triple {363#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:16:52,611 INFO L273 TraceCheckUtils]: 20: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:16:52,611 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {363#false} {363#false} #72#return; {363#false} is VALID [2018-11-23 12:16:52,611 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:16:52,611 INFO L273 TraceCheckUtils]: 23: Hoare triple {363#false} assume !(~i~2 < 4); {363#false} is VALID [2018-11-23 12:16:52,612 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:16:52,612 INFO L256 TraceCheckUtils]: 25: Hoare triple {363#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {363#false} is VALID [2018-11-23 12:16:52,612 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:16:52,613 INFO L273 TraceCheckUtils]: 27: Hoare triple {363#false} assume !(~i~0 < 5); {363#false} is VALID [2018-11-23 12:16:52,613 INFO L273 TraceCheckUtils]: 28: Hoare triple {363#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {363#false} is VALID [2018-11-23 12:16:52,613 INFO L273 TraceCheckUtils]: 29: Hoare triple {363#false} assume true; {363#false} is VALID [2018-11-23 12:16:52,614 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {363#false} {363#false} #74#return; {363#false} is VALID [2018-11-23 12:16:52,614 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:16:52,614 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:16:52,615 INFO L273 TraceCheckUtils]: 33: Hoare triple {363#false} assume !false; {363#false} is VALID [2018-11-23 12:16:52,617 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:16:52,640 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:16:52,640 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-23 12:16:52,641 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:52,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:52,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:16:52,741 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:16:52,741 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:16:52,741 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:16:52,741 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:16:52,742 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand 4 states. [2018-11-23 12:16:52,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:52,985 INFO L93 Difference]: Finished difference Result 46 states and 56 transitions. [2018-11-23 12:16:52,985 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:52,985 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 34 [2018-11-23 12:16:52,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:52,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:52,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:16:52,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:16:52,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 55 transitions. [2018-11-23 12:16:52,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 55 transitions. [2018-11-23 12:16:53,110 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:16:53,112 INFO L225 Difference]: With dead ends: 46 [2018-11-23 12:16:53,112 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:16:53,113 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:16:53,113 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:16:53,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 12:16:53,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:53,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:53,140 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:53,140 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 12:16:53,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,143 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:16:53,143 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:16:53,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,144 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:53,145 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 12:16:53,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,147 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-23 12:16:53,147 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:16:53,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:53,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:53,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:16:53,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2018-11-23 12:16:53,151 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 34 [2018-11-23 12:16:53,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:53,151 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2018-11-23 12:16:53,152 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:16:53,152 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:16:53,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 12:16:53,153 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:53,153 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:16:53,154 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:53,154 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:53,154 INFO L82 PathProgramCache]: Analyzing trace with hash -1462689141, now seen corresponding path program 1 times [2018-11-23 12:16:53,154 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:53,154 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:53,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,156 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:53,156 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:53,244 INFO L256 TraceCheckUtils]: 0: Hoare triple {630#true} call ULTIMATE.init(); {630#true} is VALID [2018-11-23 12:16:53,245 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:16:53,245 INFO L273 TraceCheckUtils]: 2: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:16:53,245 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {630#true} {630#true} #66#return; {630#true} is VALID [2018-11-23 12:16:53,246 INFO L256 TraceCheckUtils]: 4: Hoare triple {630#true} call #t~ret12 := main(); {630#true} is VALID [2018-11-23 12:16:53,246 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:16:53,246 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:16:53,246 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:16:53,247 INFO L273 TraceCheckUtils]: 8: Hoare triple {630#true} assume !(~i~1 < 5); {630#true} is VALID [2018-11-23 12:16:53,247 INFO L256 TraceCheckUtils]: 9: Hoare triple {630#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:16:53,247 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:16:53,247 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:16:53,248 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:16:53,248 INFO L273 TraceCheckUtils]: 13: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:16:53,248 INFO L273 TraceCheckUtils]: 14: Hoare triple {630#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:16:53,248 INFO L273 TraceCheckUtils]: 15: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:16:53,249 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {630#true} {630#true} #70#return; {630#true} is VALID [2018-11-23 12:16:53,249 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:16:53,249 INFO L256 TraceCheckUtils]: 18: Hoare triple {630#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:16:53,250 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:16:53,250 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:16:53,250 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:16:53,251 INFO L273 TraceCheckUtils]: 22: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:16:53,251 INFO L273 TraceCheckUtils]: 23: Hoare triple {630#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:16:53,251 INFO L273 TraceCheckUtils]: 24: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:16:53,252 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {630#true} {630#true} #72#return; {630#true} is VALID [2018-11-23 12:16:53,257 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:16:53,263 INFO L273 TraceCheckUtils]: 27: Hoare triple {632#(= main_~i~2 0)} assume !(~i~2 < 4); {631#false} is VALID [2018-11-23 12:16:53,263 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:16:53,263 INFO L256 TraceCheckUtils]: 29: Hoare triple {631#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {630#true} is VALID [2018-11-23 12:16:53,264 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:16:53,264 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:16:53,264 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:16:53,264 INFO L273 TraceCheckUtils]: 33: Hoare triple {630#true} assume !(~i~0 < 5); {630#true} is VALID [2018-11-23 12:16:53,265 INFO L273 TraceCheckUtils]: 34: Hoare triple {630#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {630#true} is VALID [2018-11-23 12:16:53,265 INFO L273 TraceCheckUtils]: 35: Hoare triple {630#true} assume true; {630#true} is VALID [2018-11-23 12:16:53,265 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {630#true} {631#false} #74#return; {631#false} is VALID [2018-11-23 12:16:53,266 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:16:53,266 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:16:53,266 INFO L273 TraceCheckUtils]: 39: Hoare triple {631#false} assume !false; {631#false} is VALID [2018-11-23 12:16:53,270 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:16:53,270 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:16:53,271 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:16:53,271 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:16:53,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:53,272 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:16:53,382 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:16:53,382 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:16:53,382 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:16:53,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:16:53,383 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand 3 states. [2018-11-23 12:16:53,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,473 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2018-11-23 12:16:53,473 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:16:53,474 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 12:16:53,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:53,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:53,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:16:53,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:16:53,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2018-11-23 12:16:53,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 45 transitions. [2018-11-23 12:16:53,566 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:16:53,568 INFO L225 Difference]: With dead ends: 43 [2018-11-23 12:16:53,568 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 12:16:53,569 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:16:53,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 12:16:53,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 12:16:53,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:53,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 12:16:53,581 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 12:16:53,581 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 12:16:53,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,584 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:16:53,584 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:16:53,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,585 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 12:16:53,585 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 12:16:53,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:53,588 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 12:16:53,588 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 12:16:53,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:53,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:53,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:53,589 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:53,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:16:53,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 12:16:53,591 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 40 [2018-11-23 12:16:53,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:53,592 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 12:16:53,592 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:16:53,592 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:16:53,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 12:16:53,593 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:53,593 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:16:53,594 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:53,594 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:53,594 INFO L82 PathProgramCache]: Analyzing trace with hash -233991671, now seen corresponding path program 1 times [2018-11-23 12:16:53,594 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:53,595 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:53,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,596 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:53,596 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:53,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:53,722 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:16:53,723 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:16:53,723 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:16:53,723 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:16:53,724 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:16:53,726 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:16:53,726 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:16:53,727 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:16:53,729 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 5); {800#false} is VALID [2018-11-23 12:16:53,729 INFO L256 TraceCheckUtils]: 9: Hoare triple {800#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:16:53,729 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:16:53,730 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:16:53,730 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:16:53,730 INFO L273 TraceCheckUtils]: 13: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:16:53,731 INFO L273 TraceCheckUtils]: 14: Hoare triple {799#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:16:53,731 INFO L273 TraceCheckUtils]: 15: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:16:53,732 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {799#true} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:16:53,732 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:16:53,732 INFO L256 TraceCheckUtils]: 18: Hoare triple {800#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:16:53,732 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:16:53,733 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:16:53,733 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:16:53,733 INFO L273 TraceCheckUtils]: 22: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:16:53,733 INFO L273 TraceCheckUtils]: 23: Hoare triple {799#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:16:53,734 INFO L273 TraceCheckUtils]: 24: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:16:53,734 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {799#true} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:16:53,734 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:16:53,735 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:16:53,735 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:16:53,735 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 4); {800#false} is VALID [2018-11-23 12:16:53,736 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:16:53,736 INFO L256 TraceCheckUtils]: 31: Hoare triple {800#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {799#true} is VALID [2018-11-23 12:16:53,736 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:16:53,736 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:16:53,737 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:16:53,737 INFO L273 TraceCheckUtils]: 35: Hoare triple {799#true} assume !(~i~0 < 5); {799#true} is VALID [2018-11-23 12:16:53,737 INFO L273 TraceCheckUtils]: 36: Hoare triple {799#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {799#true} is VALID [2018-11-23 12:16:53,737 INFO L273 TraceCheckUtils]: 37: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:16:53,737 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {799#true} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:16:53,738 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:16:53,738 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:16:53,738 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:16:53,741 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:16:53,741 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:53,742 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:16:53,758 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:53,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:53,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:53,828 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:54,111 INFO L256 TraceCheckUtils]: 0: Hoare triple {799#true} call ULTIMATE.init(); {799#true} is VALID [2018-11-23 12:16:54,112 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:16:54,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {799#true} assume true; {799#true} is VALID [2018-11-23 12:16:54,112 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {799#true} {799#true} #66#return; {799#true} is VALID [2018-11-23 12:16:54,113 INFO L256 TraceCheckUtils]: 4: Hoare triple {799#true} call #t~ret12 := main(); {799#true} is VALID [2018-11-23 12:16:54,113 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:16:54,114 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:16:54,114 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:16:54,115 INFO L273 TraceCheckUtils]: 8: Hoare triple {802#(<= main_~i~1 1)} assume !(~i~1 < 5); {800#false} is VALID [2018-11-23 12:16:54,115 INFO L256 TraceCheckUtils]: 9: Hoare triple {800#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:16:54,115 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:16:54,116 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:16:54,116 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:16:54,117 INFO L273 TraceCheckUtils]: 13: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:16:54,117 INFO L273 TraceCheckUtils]: 14: Hoare triple {800#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:16:54,117 INFO L273 TraceCheckUtils]: 15: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:16:54,118 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {800#false} {800#false} #70#return; {800#false} is VALID [2018-11-23 12:16:54,118 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:16:54,118 INFO L256 TraceCheckUtils]: 18: Hoare triple {800#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:16:54,119 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:16:54,119 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:16:54,119 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:16:54,119 INFO L273 TraceCheckUtils]: 22: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:16:54,120 INFO L273 TraceCheckUtils]: 23: Hoare triple {800#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:16:54,120 INFO L273 TraceCheckUtils]: 24: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:16:54,120 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {800#false} {800#false} #72#return; {800#false} is VALID [2018-11-23 12:16:54,120 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:16:54,121 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:16:54,121 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:16:54,121 INFO L273 TraceCheckUtils]: 29: Hoare triple {800#false} assume !(~i~2 < 4); {800#false} is VALID [2018-11-23 12:16:54,121 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:16:54,121 INFO L256 TraceCheckUtils]: 31: Hoare triple {800#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {800#false} is VALID [2018-11-23 12:16:54,122 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:16:54,122 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:16:54,122 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:16:54,122 INFO L273 TraceCheckUtils]: 35: Hoare triple {800#false} assume !(~i~0 < 5); {800#false} is VALID [2018-11-23 12:16:54,123 INFO L273 TraceCheckUtils]: 36: Hoare triple {800#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {800#false} is VALID [2018-11-23 12:16:54,123 INFO L273 TraceCheckUtils]: 37: Hoare triple {800#false} assume true; {800#false} is VALID [2018-11-23 12:16:54,123 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {800#false} {800#false} #74#return; {800#false} is VALID [2018-11-23 12:16:54,123 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:16:54,124 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:16:54,124 INFO L273 TraceCheckUtils]: 41: Hoare triple {800#false} assume !false; {800#false} is VALID [2018-11-23 12:16:54,127 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:16:54,146 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:54,146 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-23 12:16:54,146 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:16:54,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:54,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-23 12:16:54,212 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:16:54,212 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-23 12:16:54,212 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 12:16:54,212 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-23 12:16:54,213 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 5 states. [2018-11-23 12:16:54,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:54,445 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2018-11-23 12:16:54,445 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:16:54,445 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 42 [2018-11-23 12:16:54,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:54,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:54,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:16:54,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-23 12:16:54,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2018-11-23 12:16:54,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2018-11-23 12:16:54,531 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:16:54,532 INFO L225 Difference]: With dead ends: 52 [2018-11-23 12:16:54,532 INFO L226 Difference]: Without dead ends: 32 [2018-11-23 12:16:54,533 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:16:54,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2018-11-23 12:16:54,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 31. [2018-11-23 12:16:54,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:54,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand 31 states. [2018-11-23 12:16:54,609 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 31 states. [2018-11-23 12:16:54,609 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 31 states. [2018-11-23 12:16:54,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:54,613 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:16:54,613 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:16:54,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:54,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:54,613 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 32 states. [2018-11-23 12:16:54,614 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 32 states. [2018-11-23 12:16:54,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:54,616 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2018-11-23 12:16:54,616 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2018-11-23 12:16:54,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:54,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:54,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:54,617 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:54,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 12:16:54,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2018-11-23 12:16:54,619 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 42 [2018-11-23 12:16:54,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:54,620 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2018-11-23 12:16:54,620 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-23 12:16:54,620 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 12:16:54,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:16:54,621 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:54,621 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:16:54,621 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:54,622 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:54,622 INFO L82 PathProgramCache]: Analyzing trace with hash 4791275, now seen corresponding path program 2 times [2018-11-23 12:16:54,622 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:54,622 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:54,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:54,623 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:16:54,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:54,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:54,910 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:16:54,911 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:16:54,911 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:16:54,912 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:16:54,912 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:16:54,914 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:16:54,915 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:16:54,916 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:16:54,917 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:16:54,917 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:16:54,918 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 5); {1115#false} is VALID [2018-11-23 12:16:54,918 INFO L256 TraceCheckUtils]: 11: Hoare triple {1115#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:16:54,918 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:16:54,918 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:16:54,919 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:16:54,919 INFO L273 TraceCheckUtils]: 15: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:16:54,919 INFO L273 TraceCheckUtils]: 16: Hoare triple {1114#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:16:54,920 INFO L273 TraceCheckUtils]: 17: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:16:54,920 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1114#true} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:16:54,920 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:16:54,921 INFO L256 TraceCheckUtils]: 20: Hoare triple {1115#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:16:54,922 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:16:54,922 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:16:54,922 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:16:54,922 INFO L273 TraceCheckUtils]: 24: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:16:54,922 INFO L273 TraceCheckUtils]: 25: Hoare triple {1114#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:16:54,923 INFO L273 TraceCheckUtils]: 26: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:16:54,923 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1114#true} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:16:54,923 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:16:54,923 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:16:54,924 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:16:54,924 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 4); {1115#false} is VALID [2018-11-23 12:16:54,924 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:16:54,924 INFO L256 TraceCheckUtils]: 33: Hoare triple {1115#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1114#true} is VALID [2018-11-23 12:16:54,924 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:16:54,925 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:16:54,925 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:16:54,925 INFO L273 TraceCheckUtils]: 37: Hoare triple {1114#true} assume !(~i~0 < 5); {1114#true} is VALID [2018-11-23 12:16:54,925 INFO L273 TraceCheckUtils]: 38: Hoare triple {1114#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1114#true} is VALID [2018-11-23 12:16:54,925 INFO L273 TraceCheckUtils]: 39: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:16:54,926 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1114#true} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:16:54,926 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:16:54,926 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:16:54,926 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:16:54,928 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:16:54,929 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:54,929 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:16:54,938 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:16:54,993 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:16:54,994 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:55,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:55,016 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:55,142 INFO L256 TraceCheckUtils]: 0: Hoare triple {1114#true} call ULTIMATE.init(); {1114#true} is VALID [2018-11-23 12:16:55,142 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:16:55,143 INFO L273 TraceCheckUtils]: 2: Hoare triple {1114#true} assume true; {1114#true} is VALID [2018-11-23 12:16:55,143 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1114#true} {1114#true} #66#return; {1114#true} is VALID [2018-11-23 12:16:55,144 INFO L256 TraceCheckUtils]: 4: Hoare triple {1114#true} call #t~ret12 := main(); {1114#true} is VALID [2018-11-23 12:16:55,151 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:16:55,152 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:16:55,153 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:16:55,154 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:16:55,155 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:16:55,156 INFO L273 TraceCheckUtils]: 10: Hoare triple {1118#(<= main_~i~1 2)} assume !(~i~1 < 5); {1115#false} is VALID [2018-11-23 12:16:55,156 INFO L256 TraceCheckUtils]: 11: Hoare triple {1115#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:16:55,156 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:16:55,156 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:16:55,156 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:16:55,157 INFO L273 TraceCheckUtils]: 15: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:16:55,157 INFO L273 TraceCheckUtils]: 16: Hoare triple {1115#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:16:55,157 INFO L273 TraceCheckUtils]: 17: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:16:55,157 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1115#false} {1115#false} #70#return; {1115#false} is VALID [2018-11-23 12:16:55,157 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:16:55,158 INFO L256 TraceCheckUtils]: 20: Hoare triple {1115#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:16:55,158 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:16:55,158 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:16:55,158 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:16:55,158 INFO L273 TraceCheckUtils]: 24: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:16:55,159 INFO L273 TraceCheckUtils]: 25: Hoare triple {1115#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:16:55,159 INFO L273 TraceCheckUtils]: 26: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:16:55,159 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {1115#false} {1115#false} #72#return; {1115#false} is VALID [2018-11-23 12:16:55,159 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:16:55,159 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:16:55,160 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:16:55,160 INFO L273 TraceCheckUtils]: 31: Hoare triple {1115#false} assume !(~i~2 < 4); {1115#false} is VALID [2018-11-23 12:16:55,160 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:16:55,160 INFO L256 TraceCheckUtils]: 33: Hoare triple {1115#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1115#false} is VALID [2018-11-23 12:16:55,160 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:16:55,161 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:16:55,161 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:16:55,161 INFO L273 TraceCheckUtils]: 37: Hoare triple {1115#false} assume !(~i~0 < 5); {1115#false} is VALID [2018-11-23 12:16:55,161 INFO L273 TraceCheckUtils]: 38: Hoare triple {1115#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1115#false} is VALID [2018-11-23 12:16:55,162 INFO L273 TraceCheckUtils]: 39: Hoare triple {1115#false} assume true; {1115#false} is VALID [2018-11-23 12:16:55,162 INFO L268 TraceCheckUtils]: 40: Hoare quadruple {1115#false} {1115#false} #74#return; {1115#false} is VALID [2018-11-23 12:16:55,162 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:16:55,162 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:16:55,163 INFO L273 TraceCheckUtils]: 43: Hoare triple {1115#false} assume !false; {1115#false} is VALID [2018-11-23 12:16:55,165 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:16:55,184 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:55,184 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:16:55,184 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:16:55,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:55,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:16:55,257 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:16:55,258 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:16:55,258 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:16:55,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:55,258 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand 6 states. [2018-11-23 12:16:55,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,455 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2018-11-23 12:16:55,455 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:16:55,455 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-23 12:16:55,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:55,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:55,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:16:55,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:16:55,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2018-11-23 12:16:55,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2018-11-23 12:16:55,654 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:16:55,656 INFO L225 Difference]: With dead ends: 54 [2018-11-23 12:16:55,656 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 12:16:55,657 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:16:55,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 12:16:55,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-23 12:16:55,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:55,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-23 12:16:55,676 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-23 12:16:55,676 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-23 12:16:55,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,679 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:16:55,679 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:16:55,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,680 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-23 12:16:55,681 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-23 12:16:55,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:55,682 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2018-11-23 12:16:55,683 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2018-11-23 12:16:55,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:55,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:55,683 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:55,684 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:55,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:16:55,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2018-11-23 12:16:55,686 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 44 [2018-11-23 12:16:55,686 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:55,686 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2018-11-23 12:16:55,686 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:16:55,686 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-23 12:16:55,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2018-11-23 12:16:55,687 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:55,688 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:16:55,688 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:55,688 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:55,688 INFO L82 PathProgramCache]: Analyzing trace with hash 1841935693, now seen corresponding path program 3 times [2018-11-23 12:16:55,688 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:55,689 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:55,689 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,690 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:55,690 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:55,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:55,820 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:16:55,821 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:16:55,821 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:55,822 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:16:55,822 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:16:55,831 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:16:55,831 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:16:55,833 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:16:55,833 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:16:55,835 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:16:55,835 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:16:55,836 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:16:55,836 INFO L273 TraceCheckUtils]: 12: Hoare triple {1451#(<= main_~i~1 3)} assume !(~i~1 < 5); {1447#false} is VALID [2018-11-23 12:16:55,836 INFO L256 TraceCheckUtils]: 13: Hoare triple {1447#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:55,837 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:16:55,837 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:16:55,837 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:16:55,838 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:16:55,838 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:16:55,838 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:55,838 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1447#false} #70#return; {1447#false} is VALID [2018-11-23 12:16:55,839 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:16:55,839 INFO L256 TraceCheckUtils]: 22: Hoare triple {1447#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:55,839 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:16:55,839 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:16:55,840 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:16:55,840 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:16:55,840 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:16:55,840 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:55,841 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1447#false} #72#return; {1447#false} is VALID [2018-11-23 12:16:55,841 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:16:55,841 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:16:55,841 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:16:55,842 INFO L273 TraceCheckUtils]: 33: Hoare triple {1447#false} assume !(~i~2 < 4); {1447#false} is VALID [2018-11-23 12:16:55,842 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:16:55,842 INFO L256 TraceCheckUtils]: 35: Hoare triple {1447#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:55,842 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:16:55,843 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:16:55,843 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:16:55,843 INFO L273 TraceCheckUtils]: 39: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:16:55,843 INFO L273 TraceCheckUtils]: 40: Hoare triple {1446#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:16:55,844 INFO L273 TraceCheckUtils]: 41: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:55,844 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1446#true} {1447#false} #74#return; {1447#false} is VALID [2018-11-23 12:16:55,844 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:16:55,844 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:16:55,845 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:16:55,847 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:16:55,848 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:55,848 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:16:55,865 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:16:55,913 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 12:16:55,913 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:55,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:55,951 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:56,472 INFO L256 TraceCheckUtils]: 0: Hoare triple {1446#true} call ULTIMATE.init(); {1446#true} is VALID [2018-11-23 12:16:56,472 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:16:56,472 INFO L273 TraceCheckUtils]: 2: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:56,473 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1446#true} {1446#true} #66#return; {1446#true} is VALID [2018-11-23 12:16:56,473 INFO L256 TraceCheckUtils]: 4: Hoare triple {1446#true} call #t~ret12 := main(); {1446#true} is VALID [2018-11-23 12:16:56,473 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:16:56,473 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:16:56,473 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:16:56,474 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:16:56,474 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:16:56,474 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:16:56,474 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:16:56,474 INFO L273 TraceCheckUtils]: 12: Hoare triple {1446#true} assume !(~i~1 < 5); {1446#true} is VALID [2018-11-23 12:16:56,474 INFO L256 TraceCheckUtils]: 13: Hoare triple {1446#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:56,475 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:16:56,475 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:16:56,475 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:16:56,475 INFO L273 TraceCheckUtils]: 17: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:16:56,475 INFO L273 TraceCheckUtils]: 18: Hoare triple {1446#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:16:56,475 INFO L273 TraceCheckUtils]: 19: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:56,476 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {1446#true} {1446#true} #70#return; {1446#true} is VALID [2018-11-23 12:16:56,476 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:16:56,476 INFO L256 TraceCheckUtils]: 22: Hoare triple {1446#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:56,476 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:16:56,476 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:16:56,477 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:16:56,477 INFO L273 TraceCheckUtils]: 26: Hoare triple {1446#true} assume !(~i~0 < 5); {1446#true} is VALID [2018-11-23 12:16:56,477 INFO L273 TraceCheckUtils]: 27: Hoare triple {1446#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1446#true} is VALID [2018-11-23 12:16:56,477 INFO L273 TraceCheckUtils]: 28: Hoare triple {1446#true} assume true; {1446#true} is VALID [2018-11-23 12:16:56,477 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {1446#true} {1446#true} #72#return; {1446#true} is VALID [2018-11-23 12:16:56,477 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:16:56,478 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:16:56,478 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:16:56,478 INFO L273 TraceCheckUtils]: 33: Hoare triple {1446#true} assume !(~i~2 < 4); {1446#true} is VALID [2018-11-23 12:16:56,478 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:16:56,478 INFO L256 TraceCheckUtils]: 35: Hoare triple {1446#true} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1446#true} is VALID [2018-11-23 12:16:56,479 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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:56,479 INFO L273 TraceCheckUtils]: 37: Hoare triple {1563#(<= sum_~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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:56,480 INFO L273 TraceCheckUtils]: 38: Hoare triple {1563#(<= sum_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1570#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:56,481 INFO L273 TraceCheckUtils]: 39: Hoare triple {1570#(<= sum_~i~0 1)} assume !(~i~0 < 5); {1447#false} is VALID [2018-11-23 12:16:56,481 INFO L273 TraceCheckUtils]: 40: Hoare triple {1447#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1447#false} is VALID [2018-11-23 12:16:56,481 INFO L273 TraceCheckUtils]: 41: Hoare triple {1447#false} assume true; {1447#false} is VALID [2018-11-23 12:16:56,481 INFO L268 TraceCheckUtils]: 42: Hoare quadruple {1447#false} {1446#true} #74#return; {1447#false} is VALID [2018-11-23 12:16:56,481 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:16:56,482 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:16:56,482 INFO L273 TraceCheckUtils]: 45: Hoare triple {1447#false} assume !false; {1447#false} is VALID [2018-11-23 12:16:56,485 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:16:56,504 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:56,505 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-23 12:16:56,505 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:16:56,505 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:56,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:16:56,651 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:16:56,651 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:16:56,651 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:16:56,652 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:16:56,652 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 8 states. [2018-11-23 12:16:56,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:56,985 INFO L93 Difference]: Finished difference Result 59 states and 71 transitions. [2018-11-23 12:16:56,985 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:16:56,986 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 46 [2018-11-23 12:16:56,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:56,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:56,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:16:56,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:16:56,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2018-11-23 12:16:56,991 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2018-11-23 12:16:57,124 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:16:57,126 INFO L225 Difference]: With dead ends: 59 [2018-11-23 12:16:57,126 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 12:16:57,127 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:16:57,128 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 12:16:57,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 37. [2018-11-23 12:16:57,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:57,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 37 states. [2018-11-23 12:16:57,147 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 37 states. [2018-11-23 12:16:57,147 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 37 states. [2018-11-23 12:16:57,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:57,150 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:16:57,150 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:16:57,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:57,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:57,151 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 39 states. [2018-11-23 12:16:57,151 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 39 states. [2018-11-23 12:16:57,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:57,153 INFO L93 Difference]: Finished difference Result 39 states and 43 transitions. [2018-11-23 12:16:57,153 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 43 transitions. [2018-11-23 12:16:57,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:57,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:57,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:57,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:57,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 12:16:57,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2018-11-23 12:16:57,156 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 46 [2018-11-23 12:16:57,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:57,157 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2018-11-23 12:16:57,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:16:57,157 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2018-11-23 12:16:57,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-23 12:16:57,158 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:57,158 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:16:57,158 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:57,159 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:57,159 INFO L82 PathProgramCache]: Analyzing trace with hash -1174865395, now seen corresponding path program 4 times [2018-11-23 12:16:57,159 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:57,159 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:57,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:57,160 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:57,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:57,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:57,424 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:16:57,424 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:16:57,425 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:16:57,425 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:16:57,425 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:16:57,426 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:16:57,426 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:16:57,427 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:16:57,428 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:16:57,445 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:16:57,454 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:16:57,467 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:16:57,476 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:16:57,491 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:16:57,493 INFO L273 TraceCheckUtils]: 14: Hoare triple {1815#(<= main_~i~1 4)} assume !(~i~1 < 5); {1810#false} is VALID [2018-11-23 12:16:57,493 INFO L256 TraceCheckUtils]: 15: Hoare triple {1810#false} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:16:57,493 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:16:57,493 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:16:57,494 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:16:57,494 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:16:57,494 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:16:57,494 INFO L273 TraceCheckUtils]: 21: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:16:57,494 INFO L273 TraceCheckUtils]: 22: Hoare triple {1809#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:16:57,494 INFO L273 TraceCheckUtils]: 23: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:16:57,495 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1809#true} {1810#false} #70#return; {1810#false} is VALID [2018-11-23 12:16:57,495 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:16:57,495 INFO L256 TraceCheckUtils]: 26: Hoare triple {1810#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:16:57,495 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:16:57,495 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:16:57,495 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:16:57,496 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:16:57,496 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:16:57,496 INFO L273 TraceCheckUtils]: 32: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:16:57,496 INFO L273 TraceCheckUtils]: 33: Hoare triple {1809#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:16:57,496 INFO L273 TraceCheckUtils]: 34: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:16:57,496 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1809#true} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:16:57,497 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:16:57,497 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:16:57,497 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:16:57,497 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 4); {1810#false} is VALID [2018-11-23 12:16:57,497 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:16:57,498 INFO L256 TraceCheckUtils]: 41: Hoare triple {1810#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:16:57,498 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:16:57,498 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:16:57,498 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:16:57,498 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:16:57,498 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:16:57,499 INFO L273 TraceCheckUtils]: 47: Hoare triple {1809#true} assume !(~i~0 < 5); {1809#true} is VALID [2018-11-23 12:16:57,499 INFO L273 TraceCheckUtils]: 48: Hoare triple {1809#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1809#true} is VALID [2018-11-23 12:16:57,499 INFO L273 TraceCheckUtils]: 49: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:16:57,499 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1809#true} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:16:57,499 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:16:57,500 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:16:57,500 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:16:57,503 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:16:57,503 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:57,503 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:16:57,513 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:16:57,538 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:16:57,538 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:57,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:57,558 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:57,684 INFO L256 TraceCheckUtils]: 0: Hoare triple {1809#true} call ULTIMATE.init(); {1809#true} is VALID [2018-11-23 12:16:57,684 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:16:57,684 INFO L273 TraceCheckUtils]: 2: Hoare triple {1809#true} assume true; {1809#true} is VALID [2018-11-23 12:16:57,684 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1809#true} {1809#true} #66#return; {1809#true} is VALID [2018-11-23 12:16:57,685 INFO L256 TraceCheckUtils]: 4: Hoare triple {1809#true} call #t~ret12 := main(); {1809#true} is VALID [2018-11-23 12:16:57,685 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:16:57,685 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:16:57,685 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:16:57,685 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:16:57,685 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:16:57,686 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:16:57,686 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:16:57,686 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:16:57,686 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:16:57,686 INFO L273 TraceCheckUtils]: 14: Hoare triple {1809#true} assume !(~i~1 < 5); {1809#true} is VALID [2018-11-23 12:16:57,687 INFO L256 TraceCheckUtils]: 15: Hoare triple {1809#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {1809#true} is VALID [2018-11-23 12:16:57,690 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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:57,691 INFO L273 TraceCheckUtils]: 17: Hoare triple {1867#(<= sum_~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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:57,692 INFO L273 TraceCheckUtils]: 18: Hoare triple {1867#(<= sum_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1874#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:57,693 INFO L273 TraceCheckUtils]: 19: Hoare triple {1874#(<= sum_~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#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:57,693 INFO L273 TraceCheckUtils]: 20: Hoare triple {1874#(<= sum_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1881#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:57,694 INFO L273 TraceCheckUtils]: 21: Hoare triple {1881#(<= sum_~i~0 2)} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:16:57,694 INFO L273 TraceCheckUtils]: 22: Hoare triple {1810#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:16:57,695 INFO L273 TraceCheckUtils]: 23: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:16:57,695 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1810#false} {1809#true} #70#return; {1810#false} is VALID [2018-11-23 12:16:57,712 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:16:57,712 INFO L256 TraceCheckUtils]: 26: Hoare triple {1810#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {1810#false} is VALID [2018-11-23 12:16:57,712 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:16:57,712 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:16:57,713 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:16:57,713 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:16:57,713 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:16:57,713 INFO L273 TraceCheckUtils]: 32: Hoare triple {1810#false} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:16:57,713 INFO L273 TraceCheckUtils]: 33: Hoare triple {1810#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:16:57,714 INFO L273 TraceCheckUtils]: 34: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:16:57,714 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1810#false} {1810#false} #72#return; {1810#false} is VALID [2018-11-23 12:16:57,714 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:16:57,714 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:16:57,714 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:16:57,714 INFO L273 TraceCheckUtils]: 39: Hoare triple {1810#false} assume !(~i~2 < 4); {1810#false} is VALID [2018-11-23 12:16:57,715 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:16:57,715 INFO L256 TraceCheckUtils]: 41: Hoare triple {1810#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {1810#false} is VALID [2018-11-23 12:16:57,715 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:16:57,715 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:16:57,715 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:16:57,716 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:16:57,716 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:16:57,716 INFO L273 TraceCheckUtils]: 47: Hoare triple {1810#false} assume !(~i~0 < 5); {1810#false} is VALID [2018-11-23 12:16:57,716 INFO L273 TraceCheckUtils]: 48: Hoare triple {1810#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1810#false} is VALID [2018-11-23 12:16:57,716 INFO L273 TraceCheckUtils]: 49: Hoare triple {1810#false} assume true; {1810#false} is VALID [2018-11-23 12:16:57,717 INFO L268 TraceCheckUtils]: 50: Hoare quadruple {1810#false} {1810#false} #74#return; {1810#false} is VALID [2018-11-23 12:16:57,717 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:16:57,717 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:16:57,717 INFO L273 TraceCheckUtils]: 53: Hoare triple {1810#false} assume !false; {1810#false} is VALID [2018-11-23 12:16:57,719 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:16:57,746 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:57,746 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2018-11-23 12:16:57,746 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 54 [2018-11-23 12:16:57,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:57,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:16:57,819 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:16:57,819 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:16:57,819 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:16:57,819 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:16:57,820 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand 10 states. [2018-11-23 12:16:58,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,297 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2018-11-23 12:16:58,297 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:16:58,297 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 54 [2018-11-23 12:16:58,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:58,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:16:58,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2018-11-23 12:16:58,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:16:58,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 71 transitions. [2018-11-23 12:16:58,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 71 transitions. [2018-11-23 12:16:58,394 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:58,395 INFO L225 Difference]: With dead ends: 64 [2018-11-23 12:16:58,396 INFO L226 Difference]: Without dead ends: 42 [2018-11-23 12:16:58,397 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:16:58,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-11-23 12:16:58,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2018-11-23 12:16:58,411 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:58,412 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:58,412 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:58,412 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 41 states. [2018-11-23 12:16:58,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,415 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 12:16:58,415 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 12:16:58,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,416 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:58,416 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 42 states. [2018-11-23 12:16:58,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:58,418 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2018-11-23 12:16:58,418 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2018-11-23 12:16:58,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:58,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:58,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:58,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:58,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:16:58,420 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2018-11-23 12:16:58,420 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 54 [2018-11-23 12:16:58,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:58,421 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2018-11-23 12:16:58,421 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:16:58,421 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2018-11-23 12:16:58,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2018-11-23 12:16:58,422 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:58,422 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:16:58,422 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:58,422 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:58,423 INFO L82 PathProgramCache]: Analyzing trace with hash -1857622835, now seen corresponding path program 5 times [2018-11-23 12:16:58,423 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:58,423 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:58,423 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:58,424 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:58,424 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:58,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,623 INFO L256 TraceCheckUtils]: 0: Hoare triple {2218#true} call ULTIMATE.init(); {2218#true} is VALID [2018-11-23 12:16:58,623 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:16:58,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:16:58,624 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2218#true} {2218#true} #66#return; {2218#true} is VALID [2018-11-23 12:16:58,624 INFO L256 TraceCheckUtils]: 4: Hoare triple {2218#true} call #t~ret12 := main(); {2218#true} is VALID [2018-11-23 12:16:58,624 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:16:58,624 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:16:58,624 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:16:58,625 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:16:58,625 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:16:58,625 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:16:58,625 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:16:58,625 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:16:58,625 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:16:58,626 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:16:58,626 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:16:58,626 INFO L273 TraceCheckUtils]: 16: Hoare triple {2218#true} assume !(~i~1 < 5); {2218#true} is VALID [2018-11-23 12:16:58,626 INFO L256 TraceCheckUtils]: 17: Hoare triple {2218#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:16:58,634 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#(= sum_~i~0 0)} is VALID [2018-11-23 12:16:58,635 INFO L273 TraceCheckUtils]: 19: Hoare triple {2220#(= sum_~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#(= sum_~i~0 0)} is VALID [2018-11-23 12:16:58,639 INFO L273 TraceCheckUtils]: 20: Hoare triple {2220#(= sum_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2221#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:58,639 INFO L273 TraceCheckUtils]: 21: Hoare triple {2221#(<= sum_~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#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:58,642 INFO L273 TraceCheckUtils]: 22: Hoare triple {2221#(<= sum_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2222#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:58,642 INFO L273 TraceCheckUtils]: 23: Hoare triple {2222#(<= sum_~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#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:58,645 INFO L273 TraceCheckUtils]: 24: Hoare triple {2222#(<= sum_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2223#(<= sum_~i~0 3)} is VALID [2018-11-23 12:16:58,645 INFO L273 TraceCheckUtils]: 25: Hoare triple {2223#(<= sum_~i~0 3)} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:16:58,645 INFO L273 TraceCheckUtils]: 26: Hoare triple {2219#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:16:58,645 INFO L273 TraceCheckUtils]: 27: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:16:58,646 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2219#false} {2218#true} #70#return; {2219#false} is VALID [2018-11-23 12:16:58,646 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:16:58,646 INFO L256 TraceCheckUtils]: 30: Hoare triple {2219#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:16:58,646 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:16:58,646 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:16:58,646 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:16:58,646 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:16:58,646 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:16:58,647 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:16:58,647 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:16:58,647 INFO L273 TraceCheckUtils]: 38: Hoare triple {2218#true} assume !(~i~0 < 5); {2218#true} is VALID [2018-11-23 12:16:58,647 INFO L273 TraceCheckUtils]: 39: Hoare triple {2218#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2218#true} is VALID [2018-11-23 12:16:58,647 INFO L273 TraceCheckUtils]: 40: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:16:58,647 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2218#true} {2219#false} #72#return; {2219#false} is VALID [2018-11-23 12:16:58,648 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:16:58,648 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:16:58,648 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:16:58,648 INFO L273 TraceCheckUtils]: 45: Hoare triple {2219#false} assume !(~i~2 < 4); {2219#false} is VALID [2018-11-23 12:16:58,648 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:16:58,648 INFO L256 TraceCheckUtils]: 47: Hoare triple {2219#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:16:58,649 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:16:58,649 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:16:58,649 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:16:58,649 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:16:58,649 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:16:58,649 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:16:58,649 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:16:58,649 INFO L273 TraceCheckUtils]: 55: Hoare triple {2218#true} assume !(~i~0 < 5); {2218#true} is VALID [2018-11-23 12:16:58,650 INFO L273 TraceCheckUtils]: 56: Hoare triple {2218#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2218#true} is VALID [2018-11-23 12:16:58,650 INFO L273 TraceCheckUtils]: 57: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:16:58,650 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2218#true} {2219#false} #74#return; {2219#false} is VALID [2018-11-23 12:16:58,650 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:16:58,650 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:16:58,650 INFO L273 TraceCheckUtils]: 61: Hoare triple {2219#false} assume !false; {2219#false} is VALID [2018-11-23 12:16:58,653 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:16:58,653 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:58,653 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:16:58,668 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:16:58,714 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2018-11-23 12:16:58,715 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:58,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:58,746 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:58,908 INFO L256 TraceCheckUtils]: 0: Hoare triple {2218#true} call ULTIMATE.init(); {2218#true} is VALID [2018-11-23 12:16:58,908 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:16:58,908 INFO L273 TraceCheckUtils]: 2: Hoare triple {2218#true} assume true; {2218#true} is VALID [2018-11-23 12:16:58,908 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2218#true} {2218#true} #66#return; {2218#true} is VALID [2018-11-23 12:16:58,909 INFO L256 TraceCheckUtils]: 4: Hoare triple {2218#true} call #t~ret12 := main(); {2218#true} is VALID [2018-11-23 12:16:58,909 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:16:58,909 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:16:58,909 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:16:58,910 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:16:58,910 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:16:58,910 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:16:58,910 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:16:58,910 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:16:58,910 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:16:58,911 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:16:58,911 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:16:58,911 INFO L273 TraceCheckUtils]: 16: Hoare triple {2218#true} assume !(~i~1 < 5); {2218#true} is VALID [2018-11-23 12:16:58,911 INFO L256 TraceCheckUtils]: 17: Hoare triple {2218#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {2218#true} is VALID [2018-11-23 12:16:58,911 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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:58,912 INFO L273 TraceCheckUtils]: 19: Hoare triple {2281#(<= sum_~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#(<= sum_~i~0 0)} is VALID [2018-11-23 12:16:58,912 INFO L273 TraceCheckUtils]: 20: Hoare triple {2281#(<= sum_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2221#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:58,913 INFO L273 TraceCheckUtils]: 21: Hoare triple {2221#(<= sum_~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#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:58,913 INFO L273 TraceCheckUtils]: 22: Hoare triple {2221#(<= sum_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2222#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:58,913 INFO L273 TraceCheckUtils]: 23: Hoare triple {2222#(<= sum_~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#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:58,914 INFO L273 TraceCheckUtils]: 24: Hoare triple {2222#(<= sum_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2223#(<= sum_~i~0 3)} is VALID [2018-11-23 12:16:58,914 INFO L273 TraceCheckUtils]: 25: Hoare triple {2223#(<= sum_~i~0 3)} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:16:58,915 INFO L273 TraceCheckUtils]: 26: Hoare triple {2219#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:16:58,915 INFO L273 TraceCheckUtils]: 27: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:16:58,915 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {2219#false} {2218#true} #70#return; {2219#false} is VALID [2018-11-23 12:16:58,915 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:16:58,915 INFO L256 TraceCheckUtils]: 30: Hoare triple {2219#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {2219#false} is VALID [2018-11-23 12:16:58,916 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:16:58,916 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:16:58,916 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:16:58,916 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:16:58,917 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:16:58,917 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:16:58,917 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:16:58,918 INFO L273 TraceCheckUtils]: 38: Hoare triple {2219#false} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:16:58,918 INFO L273 TraceCheckUtils]: 39: Hoare triple {2219#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:16:58,918 INFO L273 TraceCheckUtils]: 40: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:16:58,918 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2219#false} {2219#false} #72#return; {2219#false} is VALID [2018-11-23 12:16:58,918 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:16:58,918 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:16:58,919 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:16:58,919 INFO L273 TraceCheckUtils]: 45: Hoare triple {2219#false} assume !(~i~2 < 4); {2219#false} is VALID [2018-11-23 12:16:58,919 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:16:58,919 INFO L256 TraceCheckUtils]: 47: Hoare triple {2219#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {2219#false} is VALID [2018-11-23 12:16:58,919 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:16:58,919 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:16:58,919 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:16:58,920 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:16:58,920 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:16:58,920 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:16:58,920 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:16:58,920 INFO L273 TraceCheckUtils]: 55: Hoare triple {2219#false} assume !(~i~0 < 5); {2219#false} is VALID [2018-11-23 12:16:58,921 INFO L273 TraceCheckUtils]: 56: Hoare triple {2219#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2219#false} is VALID [2018-11-23 12:16:58,921 INFO L273 TraceCheckUtils]: 57: Hoare triple {2219#false} assume true; {2219#false} is VALID [2018-11-23 12:16:58,921 INFO L268 TraceCheckUtils]: 58: Hoare quadruple {2219#false} {2219#false} #74#return; {2219#false} is VALID [2018-11-23 12:16:58,921 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:16:58,921 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:16:58,921 INFO L273 TraceCheckUtils]: 61: Hoare triple {2219#false} assume !false; {2219#false} is VALID [2018-11-23 12:16:58,924 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:16:58,948 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:16:58,948 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-23 12:16:58,948 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2018-11-23 12:16:58,949 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:16:58,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 12:16:59,007 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:16:59,008 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:16:59,008 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:16:59,008 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:16:59,008 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand 7 states. [2018-11-23 12:16:59,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,245 INFO L93 Difference]: Finished difference Result 67 states and 77 transitions. [2018-11-23 12:16:59,245 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:16:59,246 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2018-11-23 12:16:59,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:16:59,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:16:59,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2018-11-23 12:16:59,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:16:59,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 61 transitions. [2018-11-23 12:16:59,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 61 transitions. [2018-11-23 12:16:59,322 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:16:59,324 INFO L225 Difference]: With dead ends: 67 [2018-11-23 12:16:59,325 INFO L226 Difference]: Without dead ends: 44 [2018-11-23 12:16:59,325 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:16:59,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-23 12:16:59,369 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2018-11-23 12:16:59,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:16:59,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 43 states. [2018-11-23 12:16:59,369 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 43 states. [2018-11-23 12:16:59,369 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 43 states. [2018-11-23 12:16:59,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,372 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2018-11-23 12:16:59,372 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2018-11-23 12:16:59,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:59,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:59,373 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 44 states. [2018-11-23 12:16:59,373 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 44 states. [2018-11-23 12:16:59,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:16:59,374 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2018-11-23 12:16:59,375 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2018-11-23 12:16:59,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:16:59,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:16:59,375 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:16:59,375 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:16:59,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:16:59,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2018-11-23 12:16:59,377 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 62 [2018-11-23 12:16:59,377 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:16:59,377 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2018-11-23 12:16:59,377 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:16:59,377 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2018-11-23 12:16:59,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 12:16:59,378 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:16:59,378 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:16:59,379 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:16:59,379 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:16:59,379 INFO L82 PathProgramCache]: Analyzing trace with hash -778601941, now seen corresponding path program 6 times [2018-11-23 12:16:59,379 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:16:59,379 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:16:59,380 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:59,380 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:16:59,380 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:16:59,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:59,509 INFO L256 TraceCheckUtils]: 0: Hoare triple {2659#true} call ULTIMATE.init(); {2659#true} is VALID [2018-11-23 12:16:59,510 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:16:59,510 INFO L273 TraceCheckUtils]: 2: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,510 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2659#true} {2659#true} #66#return; {2659#true} is VALID [2018-11-23 12:16:59,510 INFO L256 TraceCheckUtils]: 4: Hoare triple {2659#true} call #t~ret12 := main(); {2659#true} is VALID [2018-11-23 12:16:59,510 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:16:59,511 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:16:59,511 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:16:59,511 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:16:59,511 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:16:59,511 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:16:59,512 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:16:59,512 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:16:59,512 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:16:59,512 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:16:59,512 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:16:59,512 INFO L273 TraceCheckUtils]: 16: Hoare triple {2659#true} assume !(~i~1 < 5); {2659#true} is VALID [2018-11-23 12:16:59,512 INFO L256 TraceCheckUtils]: 17: Hoare triple {2659#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:16:59,513 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#(= sum_~i~0 0)} is VALID [2018-11-23 12:16:59,513 INFO L273 TraceCheckUtils]: 19: Hoare triple {2661#(= sum_~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#(= sum_~i~0 0)} is VALID [2018-11-23 12:16:59,513 INFO L273 TraceCheckUtils]: 20: Hoare triple {2661#(= sum_~i~0 0)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2662#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:59,514 INFO L273 TraceCheckUtils]: 21: Hoare triple {2662#(<= sum_~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#(<= sum_~i~0 1)} is VALID [2018-11-23 12:16:59,514 INFO L273 TraceCheckUtils]: 22: Hoare triple {2662#(<= sum_~i~0 1)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2663#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:59,514 INFO L273 TraceCheckUtils]: 23: Hoare triple {2663#(<= sum_~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#(<= sum_~i~0 2)} is VALID [2018-11-23 12:16:59,515 INFO L273 TraceCheckUtils]: 24: Hoare triple {2663#(<= sum_~i~0 2)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2664#(<= sum_~i~0 3)} is VALID [2018-11-23 12:16:59,515 INFO L273 TraceCheckUtils]: 25: Hoare triple {2664#(<= sum_~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#(<= sum_~i~0 3)} is VALID [2018-11-23 12:16:59,516 INFO L273 TraceCheckUtils]: 26: Hoare triple {2664#(<= sum_~i~0 3)} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2665#(<= sum_~i~0 4)} is VALID [2018-11-23 12:16:59,517 INFO L273 TraceCheckUtils]: 27: Hoare triple {2665#(<= sum_~i~0 4)} assume !(~i~0 < 5); {2660#false} is VALID [2018-11-23 12:16:59,517 INFO L273 TraceCheckUtils]: 28: Hoare triple {2660#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2660#false} is VALID [2018-11-23 12:16:59,517 INFO L273 TraceCheckUtils]: 29: Hoare triple {2660#false} assume true; {2660#false} is VALID [2018-11-23 12:16:59,517 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2660#false} {2659#true} #70#return; {2660#false} is VALID [2018-11-23 12:16:59,517 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:16:59,518 INFO L256 TraceCheckUtils]: 32: Hoare triple {2660#false} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:16:59,518 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:16:59,518 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:16:59,518 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:16:59,518 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:16:59,519 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:16:59,519 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:16:59,519 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:16:59,519 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:16:59,520 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:16:59,520 INFO L273 TraceCheckUtils]: 42: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:16:59,520 INFO L273 TraceCheckUtils]: 43: Hoare triple {2659#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:16:59,520 INFO L273 TraceCheckUtils]: 44: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,520 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2659#true} {2660#false} #72#return; {2660#false} is VALID [2018-11-23 12:16:59,521 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:16:59,521 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:16:59,521 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:16:59,521 INFO L273 TraceCheckUtils]: 49: Hoare triple {2660#false} assume !(~i~2 < 4); {2660#false} is VALID [2018-11-23 12:16:59,521 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:16:59,521 INFO L256 TraceCheckUtils]: 51: Hoare triple {2660#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:16:59,522 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:16:59,522 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:16:59,522 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:16:59,522 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:16:59,522 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:16:59,522 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:16:59,522 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:16:59,522 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:16:59,523 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:16:59,523 INFO L273 TraceCheckUtils]: 61: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:16:59,523 INFO L273 TraceCheckUtils]: 62: Hoare triple {2659#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:16:59,523 INFO L273 TraceCheckUtils]: 63: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,523 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {2659#true} {2660#false} #74#return; {2660#false} is VALID [2018-11-23 12:16:59,523 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:16:59,523 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:16:59,523 INFO L273 TraceCheckUtils]: 67: Hoare triple {2660#false} assume !false; {2660#false} is VALID [2018-11-23 12:16:59,526 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:16:59,526 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:16:59,526 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:16:59,536 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:16:59,615 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:16:59,615 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:16:59,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:16:59,662 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:16:59,938 INFO L256 TraceCheckUtils]: 0: Hoare triple {2659#true} call ULTIMATE.init(); {2659#true} is VALID [2018-11-23 12:16:59,938 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:16:59,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,938 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2659#true} {2659#true} #66#return; {2659#true} is VALID [2018-11-23 12:16:59,938 INFO L256 TraceCheckUtils]: 4: Hoare triple {2659#true} call #t~ret12 := main(); {2659#true} is VALID [2018-11-23 12:16:59,939 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:16:59,939 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:16:59,939 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:16:59,939 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:16:59,939 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:16:59,939 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:16:59,939 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:16:59,939 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:16:59,940 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:16:59,940 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:16:59,940 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:16:59,940 INFO L273 TraceCheckUtils]: 16: Hoare triple {2659#true} assume !(~i~1 < 5); {2659#true} is VALID [2018-11-23 12:16:59,940 INFO L256 TraceCheckUtils]: 17: Hoare triple {2659#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:16:59,940 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:16:59,940 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:16:59,940 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:16:59,941 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:16:59,941 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:16:59,941 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:16:59,941 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:16:59,941 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:16:59,941 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:16:59,941 INFO L273 TraceCheckUtils]: 27: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:16:59,941 INFO L273 TraceCheckUtils]: 28: Hoare triple {2659#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:16:59,941 INFO L273 TraceCheckUtils]: 29: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,942 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {2659#true} {2659#true} #70#return; {2659#true} is VALID [2018-11-23 12:16:59,942 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:16:59,942 INFO L256 TraceCheckUtils]: 32: Hoare triple {2659#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {2659#true} is VALID [2018-11-23 12:16:59,942 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:16:59,942 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:16:59,942 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:16:59,942 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:16:59,942 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:16:59,943 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:16:59,943 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:16:59,943 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:16:59,943 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:16:59,943 INFO L273 TraceCheckUtils]: 42: Hoare triple {2659#true} assume !(~i~0 < 5); {2659#true} is VALID [2018-11-23 12:16:59,944 INFO L273 TraceCheckUtils]: 43: Hoare triple {2659#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2659#true} is VALID [2018-11-23 12:16:59,944 INFO L273 TraceCheckUtils]: 44: Hoare triple {2659#true} assume true; {2659#true} is VALID [2018-11-23 12:16:59,944 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {2659#true} {2659#true} #72#return; {2659#true} is VALID [2018-11-23 12:16:59,961 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:16:59,969 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:16:59,983 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:16:59,992 INFO L273 TraceCheckUtils]: 49: Hoare triple {2814#(<= main_~i~2 1)} assume !(~i~2 < 4); {2660#false} is VALID [2018-11-23 12:16:59,992 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:16:59,992 INFO L256 TraceCheckUtils]: 51: Hoare triple {2660#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {2660#false} is VALID [2018-11-23 12:16:59,992 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:16:59,992 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:16:59,993 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:16:59,993 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:16:59,993 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:16:59,993 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:16:59,993 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:16:59,993 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:16:59,994 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:16:59,994 INFO L273 TraceCheckUtils]: 61: Hoare triple {2660#false} assume !(~i~0 < 5); {2660#false} is VALID [2018-11-23 12:16:59,994 INFO L273 TraceCheckUtils]: 62: Hoare triple {2660#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2660#false} is VALID [2018-11-23 12:16:59,994 INFO L273 TraceCheckUtils]: 63: Hoare triple {2660#false} assume true; {2660#false} is VALID [2018-11-23 12:16:59,994 INFO L268 TraceCheckUtils]: 64: Hoare quadruple {2660#false} {2660#false} #74#return; {2660#false} is VALID [2018-11-23 12:16:59,994 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:16:59,995 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:16:59,995 INFO L273 TraceCheckUtils]: 67: Hoare triple {2660#false} assume !false; {2660#false} is VALID [2018-11-23 12:16:59,997 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:17:00,026 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:00,026 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4] total 9 [2018-11-23 12:17:00,027 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 68 [2018-11-23 12:17:00,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:00,027 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:17:00,126 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:17:00,126 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:17:00,127 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:17:00,127 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:17:00,127 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand 9 states. [2018-11-23 12:17:00,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:00,431 INFO L93 Difference]: Finished difference Result 73 states and 84 transitions. [2018-11-23 12:17:00,432 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-23 12:17:00,432 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 68 [2018-11-23 12:17:00,432 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:00,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:17:00,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2018-11-23 12:17:00,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:17:00,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2018-11-23 12:17:00,435 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 67 transitions. [2018-11-23 12:17:00,520 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:17:00,521 INFO L225 Difference]: With dead ends: 73 [2018-11-23 12:17:00,521 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 12:17:00,522 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:17:00,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 12:17:00,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2018-11-23 12:17:00,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:00,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 47 states. [2018-11-23 12:17:00,542 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 47 states. [2018-11-23 12:17:00,542 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 47 states. [2018-11-23 12:17:00,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:00,544 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2018-11-23 12:17:00,544 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2018-11-23 12:17:00,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:00,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:00,545 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 48 states. [2018-11-23 12:17:00,545 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 48 states. [2018-11-23 12:17:00,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:00,547 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2018-11-23 12:17:00,547 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2018-11-23 12:17:00,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:00,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:00,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:00,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:00,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 12:17:00,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2018-11-23 12:17:00,549 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 68 [2018-11-23 12:17:00,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:00,549 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2018-11-23 12:17:00,550 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:17:00,550 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2018-11-23 12:17:00,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2018-11-23 12:17:00,551 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:00,551 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:17:00,551 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:00,551 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:00,551 INFO L82 PathProgramCache]: Analyzing trace with hash 324251911, now seen corresponding path program 7 times [2018-11-23 12:17:00,551 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:00,552 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:00,552 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:00,552 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:00,553 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:00,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:00,757 INFO L256 TraceCheckUtils]: 0: Hoare triple {3143#true} call ULTIMATE.init(); {3143#true} is VALID [2018-11-23 12:17:00,757 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:17:00,757 INFO L273 TraceCheckUtils]: 2: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:00,758 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3143#true} {3143#true} #66#return; {3143#true} is VALID [2018-11-23 12:17:00,758 INFO L256 TraceCheckUtils]: 4: Hoare triple {3143#true} call #t~ret12 := main(); {3143#true} is VALID [2018-11-23 12:17:00,758 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:17:00,758 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:17:00,758 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:17:00,758 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:17:00,758 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:17:00,759 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:17:00,759 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:17:00,759 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:17:00,759 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:17:00,759 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:17:00,760 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:17:00,760 INFO L273 TraceCheckUtils]: 16: Hoare triple {3143#true} assume !(~i~1 < 5); {3143#true} is VALID [2018-11-23 12:17:00,760 INFO L256 TraceCheckUtils]: 17: Hoare triple {3143#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:17:00,760 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:17:00,760 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:17:00,760 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:17:00,761 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:17:00,761 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:17:00,761 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:17:00,761 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:17:00,761 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:17:00,761 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:17:00,761 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:17:00,762 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:17:00,762 INFO L273 TraceCheckUtils]: 29: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:17:00,762 INFO L273 TraceCheckUtils]: 30: Hoare triple {3143#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:17:00,762 INFO L273 TraceCheckUtils]: 31: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:00,762 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3143#true} {3143#true} #70#return; {3143#true} is VALID [2018-11-23 12:17:00,762 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:17:00,763 INFO L256 TraceCheckUtils]: 34: Hoare triple {3143#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:17:00,763 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:17:00,763 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:17:00,763 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:17:00,763 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:17:00,764 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:17:00,764 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:17:00,764 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:17:00,764 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:17:00,764 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:17:00,764 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:17:00,764 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:17:00,765 INFO L273 TraceCheckUtils]: 46: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:17:00,765 INFO L273 TraceCheckUtils]: 47: Hoare triple {3143#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:17:00,765 INFO L273 TraceCheckUtils]: 48: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:00,765 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3143#true} {3143#true} #72#return; {3143#true} is VALID [2018-11-23 12:17:00,769 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:17:00,770 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:17:00,771 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:17:00,771 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:17:00,773 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:17:00,773 INFO L273 TraceCheckUtils]: 55: Hoare triple {3147#(<= main_~i~2 2)} assume !(~i~2 < 4); {3144#false} is VALID [2018-11-23 12:17:00,773 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:17:00,773 INFO L256 TraceCheckUtils]: 57: Hoare triple {3144#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:17:00,773 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,774 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:17:00,775 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:17:00,775 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:17:00,775 INFO L273 TraceCheckUtils]: 69: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:17:00,775 INFO L273 TraceCheckUtils]: 70: Hoare triple {3143#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:17:00,775 INFO L273 TraceCheckUtils]: 71: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:00,775 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3143#true} {3144#false} #74#return; {3144#false} is VALID [2018-11-23 12:17:00,775 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:17:00,775 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:17:00,775 INFO L273 TraceCheckUtils]: 75: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2018-11-23 12:17:00,778 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:17:00,778 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:00,778 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:17:00,787 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:00,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:00,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:00,844 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:01,027 INFO L256 TraceCheckUtils]: 0: Hoare triple {3143#true} call ULTIMATE.init(); {3143#true} is VALID [2018-11-23 12:17:01,028 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:17:01,028 INFO L273 TraceCheckUtils]: 2: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:01,028 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3143#true} {3143#true} #66#return; {3143#true} is VALID [2018-11-23 12:17:01,028 INFO L256 TraceCheckUtils]: 4: Hoare triple {3143#true} call #t~ret12 := main(); {3143#true} is VALID [2018-11-23 12:17:01,028 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:17:01,029 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:17:01,029 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:17:01,029 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:17:01,029 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:17:01,029 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:17:01,030 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:17:01,030 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:17:01,030 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:17:01,030 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:17:01,030 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:17:01,030 INFO L273 TraceCheckUtils]: 16: Hoare triple {3143#true} assume !(~i~1 < 5); {3143#true} is VALID [2018-11-23 12:17:01,030 INFO L256 TraceCheckUtils]: 17: Hoare triple {3143#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:17:01,030 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:17:01,030 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,031 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:17:01,032 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:17:01,032 INFO L273 TraceCheckUtils]: 29: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:17:01,032 INFO L273 TraceCheckUtils]: 30: Hoare triple {3143#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:17:01,032 INFO L273 TraceCheckUtils]: 31: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:01,032 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3143#true} {3143#true} #70#return; {3143#true} is VALID [2018-11-23 12:17:01,032 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:17:01,032 INFO L256 TraceCheckUtils]: 34: Hoare triple {3143#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {3143#true} is VALID [2018-11-23 12:17:01,032 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:17:01,032 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,033 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:17:01,034 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:17:01,034 INFO L273 TraceCheckUtils]: 46: Hoare triple {3143#true} assume !(~i~0 < 5); {3143#true} is VALID [2018-11-23 12:17:01,034 INFO L273 TraceCheckUtils]: 47: Hoare triple {3143#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3143#true} is VALID [2018-11-23 12:17:01,034 INFO L273 TraceCheckUtils]: 48: Hoare triple {3143#true} assume true; {3143#true} is VALID [2018-11-23 12:17:01,034 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3143#true} {3143#true} #72#return; {3143#true} is VALID [2018-11-23 12:17:01,035 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:17:01,035 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:17:01,035 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:17:01,036 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:17:01,036 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:17:01,037 INFO L273 TraceCheckUtils]: 55: Hoare triple {3147#(<= main_~i~2 2)} assume !(~i~2 < 4); {3144#false} is VALID [2018-11-23 12:17:01,037 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:17:01,037 INFO L256 TraceCheckUtils]: 57: Hoare triple {3144#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {3144#false} is VALID [2018-11-23 12:17:01,037 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:17:01,037 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:17:01,037 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:17:01,037 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:17:01,038 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:17:01,038 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:17:01,038 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:17:01,038 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:17:01,038 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:17:01,039 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:17:01,039 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:17:01,039 INFO L273 TraceCheckUtils]: 69: Hoare triple {3144#false} assume !(~i~0 < 5); {3144#false} is VALID [2018-11-23 12:17:01,039 INFO L273 TraceCheckUtils]: 70: Hoare triple {3144#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3144#false} is VALID [2018-11-23 12:17:01,039 INFO L273 TraceCheckUtils]: 71: Hoare triple {3144#false} assume true; {3144#false} is VALID [2018-11-23 12:17:01,039 INFO L268 TraceCheckUtils]: 72: Hoare quadruple {3144#false} {3144#false} #74#return; {3144#false} is VALID [2018-11-23 12:17:01,040 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:17:01,040 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:17:01,040 INFO L273 TraceCheckUtils]: 75: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2018-11-23 12:17:01,043 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:17:01,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:01,064 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-23 12:17:01,065 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 76 [2018-11-23 12:17:01,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:01,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:17:01,191 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:17:01,192 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:17:01,192 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:17:01,192 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:17:01,192 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand 6 states. [2018-11-23 12:17:01,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:01,340 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2018-11-23 12:17:01,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:17:01,340 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 76 [2018-11-23 12:17:01,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:01,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:17:01,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-11-23 12:17:01,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:17:01,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-11-23 12:17:01,343 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2018-11-23 12:17:01,382 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:17:01,384 INFO L225 Difference]: With dead ends: 71 [2018-11-23 12:17:01,384 INFO L226 Difference]: Without dead ends: 50 [2018-11-23 12:17:01,385 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:17:01,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-11-23 12:17:01,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2018-11-23 12:17:01,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:01,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 49 states. [2018-11-23 12:17:01,408 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 49 states. [2018-11-23 12:17:01,408 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 49 states. [2018-11-23 12:17:01,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:01,409 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:17:01,410 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:17:01,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:01,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:01,410 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 50 states. [2018-11-23 12:17:01,410 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 50 states. [2018-11-23 12:17:01,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:01,412 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2018-11-23 12:17:01,412 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2018-11-23 12:17:01,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:01,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:01,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:01,413 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:01,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2018-11-23 12:17:01,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 53 transitions. [2018-11-23 12:17:01,414 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 53 transitions. Word has length 76 [2018-11-23 12:17:01,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:01,415 INFO L480 AbstractCegarLoop]: Abstraction has 49 states and 53 transitions. [2018-11-23 12:17:01,415 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:17:01,415 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 53 transitions. [2018-11-23 12:17:01,416 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 12:17:01,416 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:01,416 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:17:01,416 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:01,416 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:01,416 INFO L82 PathProgramCache]: Analyzing trace with hash -196046459, now seen corresponding path program 8 times [2018-11-23 12:17:01,417 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:01,417 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:01,417 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:01,417 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:17:01,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:01,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:01,654 INFO L256 TraceCheckUtils]: 0: Hoare triple {3652#true} call ULTIMATE.init(); {3652#true} is VALID [2018-11-23 12:17:01,654 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:17:01,655 INFO L273 TraceCheckUtils]: 2: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,655 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3652#true} {3652#true} #66#return; {3652#true} is VALID [2018-11-23 12:17:01,655 INFO L256 TraceCheckUtils]: 4: Hoare triple {3652#true} call #t~ret12 := main(); {3652#true} is VALID [2018-11-23 12:17:01,655 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:17:01,655 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:17:01,655 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:17:01,656 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:17:01,656 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:17:01,656 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:17:01,656 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:17:01,656 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:17:01,656 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:17:01,657 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:17:01,657 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:17:01,657 INFO L273 TraceCheckUtils]: 16: Hoare triple {3652#true} assume !(~i~1 < 5); {3652#true} is VALID [2018-11-23 12:17:01,657 INFO L256 TraceCheckUtils]: 17: Hoare triple {3652#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:17:01,657 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:17:01,657 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:17:01,658 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:17:01,658 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:17:01,658 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:17:01,658 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:17:01,658 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:17:01,658 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:17:01,659 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:17:01,659 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:17:01,659 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:17:01,659 INFO L273 TraceCheckUtils]: 29: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:17:01,659 INFO L273 TraceCheckUtils]: 30: Hoare triple {3652#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:17:01,659 INFO L273 TraceCheckUtils]: 31: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,659 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3652#true} {3652#true} #70#return; {3652#true} is VALID [2018-11-23 12:17:01,660 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:17:01,660 INFO L256 TraceCheckUtils]: 34: Hoare triple {3652#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:17:01,660 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:17:01,660 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:17:01,660 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:17:01,660 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:17:01,661 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:17:01,661 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:17:01,661 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:17:01,661 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:17:01,661 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:17:01,661 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:17:01,661 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:17:01,662 INFO L273 TraceCheckUtils]: 46: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:17:01,662 INFO L273 TraceCheckUtils]: 47: Hoare triple {3652#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:17:01,662 INFO L273 TraceCheckUtils]: 48: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,662 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3652#true} {3652#true} #72#return; {3652#true} is VALID [2018-11-23 12:17:01,663 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:17:01,663 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:17:01,664 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:17:01,664 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:17:01,664 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:17:01,665 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:17:01,666 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:17:01,666 INFO L273 TraceCheckUtils]: 57: Hoare triple {3657#(<= main_~i~2 3)} assume !(~i~2 < 4); {3653#false} is VALID [2018-11-23 12:17:01,667 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:17:01,667 INFO L256 TraceCheckUtils]: 59: Hoare triple {3653#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:17:01,667 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:17:01,667 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:17:01,667 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:17:01,668 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:17:01,668 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:17:01,668 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:17:01,668 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:17:01,668 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:17:01,669 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:17:01,669 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:17:01,669 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:17:01,669 INFO L273 TraceCheckUtils]: 71: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:17:01,669 INFO L273 TraceCheckUtils]: 72: Hoare triple {3652#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:17:01,669 INFO L273 TraceCheckUtils]: 73: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,670 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {3652#true} {3653#false} #74#return; {3653#false} is VALID [2018-11-23 12:17:01,670 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:17:01,670 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:17:01,670 INFO L273 TraceCheckUtils]: 77: Hoare triple {3653#false} assume !false; {3653#false} is VALID [2018-11-23 12:17:01,673 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:17:01,673 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:17:01,673 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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:17:01,688 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:17:01,731 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:17:01,731 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:17:01,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:17:01,763 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:17:01,887 INFO L256 TraceCheckUtils]: 0: Hoare triple {3652#true} call ULTIMATE.init(); {3652#true} is VALID [2018-11-23 12:17:01,888 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:17:01,888 INFO L273 TraceCheckUtils]: 2: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,888 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3652#true} {3652#true} #66#return; {3652#true} is VALID [2018-11-23 12:17:01,888 INFO L256 TraceCheckUtils]: 4: Hoare triple {3652#true} call #t~ret12 := main(); {3652#true} is VALID [2018-11-23 12:17:01,889 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:17:01,889 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:17:01,889 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:17:01,889 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:17:01,889 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:17:01,890 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:17:01,890 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:17:01,890 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:17:01,890 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:17:01,890 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:17:01,890 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:17:01,890 INFO L273 TraceCheckUtils]: 16: Hoare triple {3652#true} assume !(~i~1 < 5); {3652#true} is VALID [2018-11-23 12:17:01,891 INFO L256 TraceCheckUtils]: 17: Hoare triple {3652#true} call #t~ret4 := sum(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:17:01,891 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:17:01,891 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:17:01,891 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:17:01,891 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:17:01,891 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:17:01,891 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:17:01,891 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:17:01,892 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:17:01,892 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:17:01,892 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:17:01,892 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:17:01,892 INFO L273 TraceCheckUtils]: 29: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:17:01,892 INFO L273 TraceCheckUtils]: 30: Hoare triple {3652#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:17:01,892 INFO L273 TraceCheckUtils]: 31: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,892 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {3652#true} {3652#true} #70#return; {3652#true} is VALID [2018-11-23 12:17:01,892 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:17:01,893 INFO L256 TraceCheckUtils]: 34: Hoare triple {3652#true} call #t~ret7 := sum(~#x~0.base, ~#x~0.offset); {3652#true} is VALID [2018-11-23 12:17:01,893 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:17:01,893 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:17:01,893 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:17:01,893 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:17:01,893 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:17:01,893 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:17:01,893 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:17:01,894 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:17:01,894 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:17:01,894 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:17:01,894 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:17:01,894 INFO L273 TraceCheckUtils]: 46: Hoare triple {3652#true} assume !(~i~0 < 5); {3652#true} is VALID [2018-11-23 12:17:01,894 INFO L273 TraceCheckUtils]: 47: Hoare triple {3652#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3652#true} is VALID [2018-11-23 12:17:01,894 INFO L273 TraceCheckUtils]: 48: Hoare triple {3652#true} assume true; {3652#true} is VALID [2018-11-23 12:17:01,894 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3652#true} {3652#true} #72#return; {3652#true} is VALID [2018-11-23 12:17:01,895 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:17:01,895 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:17:01,896 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:17:01,896 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:17:01,896 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:17:01,897 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:17:01,897 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:17:01,898 INFO L273 TraceCheckUtils]: 57: Hoare triple {3657#(<= main_~i~2 3)} assume !(~i~2 < 4); {3653#false} is VALID [2018-11-23 12:17:01,898 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:17:01,898 INFO L256 TraceCheckUtils]: 59: Hoare triple {3653#false} call #t~ret11 := sum(~#x~0.base, ~#x~0.offset); {3653#false} is VALID [2018-11-23 12:17:01,898 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:17:01,898 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:17:01,898 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:17:01,899 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:17:01,899 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:17:01,899 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:17:01,899 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:17:01,899 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:17:01,900 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:17:01,900 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:17:01,900 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:17:01,900 INFO L273 TraceCheckUtils]: 71: Hoare triple {3653#false} assume !(~i~0 < 5); {3653#false} is VALID [2018-11-23 12:17:01,900 INFO L273 TraceCheckUtils]: 72: Hoare triple {3653#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3653#false} is VALID [2018-11-23 12:17:01,901 INFO L273 TraceCheckUtils]: 73: Hoare triple {3653#false} assume true; {3653#false} is VALID [2018-11-23 12:17:01,901 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {3653#false} {3653#false} #74#return; {3653#false} is VALID [2018-11-23 12:17:01,901 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:17:01,901 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:17:01,901 INFO L273 TraceCheckUtils]: 77: Hoare triple {3653#false} assume !false; {3653#false} is VALID [2018-11-23 12:17:01,904 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:17:01,923 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:17:01,923 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-23 12:17:01,923 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 78 [2018-11-23 12:17:01,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:17:01,924 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 12:17:01,983 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:17:01,983 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:17:01,984 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:17:01,984 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:17:01,984 INFO L87 Difference]: Start difference. First operand 49 states and 53 transitions. Second operand 7 states. [2018-11-23 12:17:02,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,128 INFO L93 Difference]: Finished difference Result 72 states and 77 transitions. [2018-11-23 12:17:02,129 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:17:02,129 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 78 [2018-11-23 12:17:02,129 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:17:02,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:17:02,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 12:17:02,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:17:02,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 50 transitions. [2018-11-23 12:17:02,131 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 50 transitions. [2018-11-23 12:17:02,178 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:17:02,179 INFO L225 Difference]: With dead ends: 72 [2018-11-23 12:17:02,179 INFO L226 Difference]: Without dead ends: 51 [2018-11-23 12:17:02,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:17:02,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-23 12:17:02,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2018-11-23 12:17:02,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:17:02,200 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 51 states. [2018-11-23 12:17:02,200 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 51 states. [2018-11-23 12:17:02,200 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 51 states. [2018-11-23 12:17:02,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,202 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2018-11-23 12:17:02,202 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:17:02,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,203 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 51 states. [2018-11-23 12:17:02,203 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 51 states. [2018-11-23 12:17:02,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:17:02,205 INFO L93 Difference]: Finished difference Result 51 states and 55 transitions. [2018-11-23 12:17:02,205 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:17:02,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:17:02,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:17:02,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:17:02,206 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:17:02,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-23 12:17:02,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2018-11-23 12:17:02,207 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 78 [2018-11-23 12:17:02,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:17:02,208 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2018-11-23 12:17:02,208 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:17:02,208 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2018-11-23 12:17:02,209 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-23 12:17:02,209 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:17:02,209 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:17:02,209 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:17:02,209 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:17:02,209 INFO L82 PathProgramCache]: Analyzing trace with hash -1986573693, now seen corresponding path program 9 times [2018-11-23 12:17:02,210 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:17:02,210 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:17:02,210 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,210 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:17:02,211 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:17:02,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat