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/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf -i ../../../trunk/examples/svcomp/reducercommutativity/max05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:50:08,546 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:50:08,548 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:50:08,559 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:50:08,560 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:50:08,561 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:50:08,562 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:50:08,564 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:50:08,566 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:50:08,567 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:50:08,568 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:50:08,568 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:50:08,569 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:50:08,570 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:50:08,572 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:50:08,572 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:50:08,573 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:50:08,575 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:50:08,577 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:50:08,579 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:50:08,580 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:50:08,582 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:50:08,585 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:50:08,585 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:50:08,585 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:50:08,586 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:50:08,587 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:50:08,588 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:50:08,589 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:50:08,594 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:50:08,594 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:50:08,595 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:50:08,595 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:50:08,599 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:50:08,600 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:50:08,601 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:50:08,601 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 18:50:08,635 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:50:08,635 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:50:08,636 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:50:08,636 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:50:08,637 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:50:08,637 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:50:08,637 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:50:08,637 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:50:08,637 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:50:08,638 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 18:50:08,639 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:50:08,640 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:50:08,640 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:50:08,640 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:50:08,640 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:50:08,640 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:50:08,641 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:50:08,641 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:50:08,641 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:50:08,641 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:50:08,641 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:50:08,642 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:50:08,642 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:50:08,642 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:50:08,642 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:50:08,642 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:50:08,643 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:50:08,644 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 18:50:08,644 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:50:08,645 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 18:50:08,645 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:50:08,706 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:50:08,721 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:50:08,724 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:50:08,726 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:50:08,726 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:50:08,727 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/max05_true-unreach-call_true-termination.i [2018-11-14 18:50:08,789 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/458b9ec3e/3da17dd5650e45f1adf738e8f8ef9c24/FLAG264460a2a [2018-11-14 18:50:09,226 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:50:09,227 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/max05_true-unreach-call_true-termination.i [2018-11-14 18:50:09,233 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/458b9ec3e/3da17dd5650e45f1adf738e8f8ef9c24/FLAG264460a2a [2018-11-14 18:50:09,246 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/458b9ec3e/3da17dd5650e45f1adf738e8f8ef9c24 [2018-11-14 18:50:09,255 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:50:09,256 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:50:09,257 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:50:09,258 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:50:09,261 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:50:09,263 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,266 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6f3ffb77 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09, skipping insertion in model container [2018-11-14 18:50:09,266 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,276 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:50:09,298 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:50:09,546 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:50:09,560 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:50:09,596 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:50:09,614 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:50:09,614 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09 WrapperNode [2018-11-14 18:50:09,614 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:50:09,615 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:50:09,615 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:50:09,615 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:50:09,630 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,630 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,640 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,641 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,657 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,672 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,673 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (1/1) ... [2018-11-14 18:50:09,677 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:50:09,678 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:50:09,678 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:50:09,678 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:50:09,679 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (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-14 18:50:09,803 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:50:09,804 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:50:09,804 INFO L138 BoogieDeclarations]: Found implementation of procedure max [2018-11-14 18:50:09,804 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:50:09,804 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:50:09,804 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-11-14 18:50:09,804 INFO L130 BoogieDeclarations]: Found specification of procedure max [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:50:09,805 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:50:09,806 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 18:50:10,514 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:50:10,514 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:50:10 BoogieIcfgContainer [2018-11-14 18:50:10,515 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:50:10,516 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:50:10,516 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:50:10,519 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:50:10,520 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:50:09" (1/3) ... [2018-11-14 18:50:10,520 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19fe3e45 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:50:10, skipping insertion in model container [2018-11-14 18:50:10,521 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:50:09" (2/3) ... [2018-11-14 18:50:10,521 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@19fe3e45 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:50:10, skipping insertion in model container [2018-11-14 18:50:10,521 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:50:10" (3/3) ... [2018-11-14 18:50:10,523 INFO L112 eAbstractionObserver]: Analyzing ICFG max05_true-unreach-call_true-termination.i [2018-11-14 18:50:10,532 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:50:10,539 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:50:10,553 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:50:10,585 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:50:10,586 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:50:10,586 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:50:10,586 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:50:10,587 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:50:10,587 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:50:10,587 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:50:10,587 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:50:10,587 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:50:10,607 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states. [2018-11-14 18:50:10,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-14 18:50:10,615 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:10,616 INFO L375 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-14 18:50:10,618 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:10,623 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:10,624 INFO L82 PathProgramCache]: Analyzing trace with hash -1884138600, now seen corresponding path program 1 times [2018-11-14 18:50:10,625 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:10,626 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:10,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:10,679 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:10,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:10,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:10,854 INFO L256 TraceCheckUtils]: 0: Hoare triple {39#true} call ULTIMATE.init(); {39#true} is VALID [2018-11-14 18:50:10,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {39#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {39#true} is VALID [2018-11-14 18:50:10,858 INFO L273 TraceCheckUtils]: 2: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:50:10,858 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {39#true} {39#true} #76#return; {39#true} is VALID [2018-11-14 18:50:10,858 INFO L256 TraceCheckUtils]: 4: Hoare triple {39#true} call #t~ret14 := main(); {39#true} is VALID [2018-11-14 18:50:10,859 INFO L273 TraceCheckUtils]: 5: Hoare triple {39#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; {39#true} is VALID [2018-11-14 18:50:10,860 INFO L273 TraceCheckUtils]: 6: Hoare triple {39#true} assume !true; {40#false} is VALID [2018-11-14 18:50:10,860 INFO L256 TraceCheckUtils]: 7: Hoare triple {40#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {39#true} is VALID [2018-11-14 18:50:10,860 INFO L273 TraceCheckUtils]: 8: Hoare triple {39#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39#true} is VALID [2018-11-14 18:50:10,861 INFO L273 TraceCheckUtils]: 9: Hoare triple {39#true} assume !true; {39#true} is VALID [2018-11-14 18:50:10,861 INFO L273 TraceCheckUtils]: 10: Hoare triple {39#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39#true} is VALID [2018-11-14 18:50:10,861 INFO L273 TraceCheckUtils]: 11: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:50:10,862 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {39#true} {40#false} #80#return; {40#false} is VALID [2018-11-14 18:50:10,862 INFO L273 TraceCheckUtils]: 13: Hoare triple {40#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {40#false} is VALID [2018-11-14 18:50:10,863 INFO L256 TraceCheckUtils]: 14: Hoare triple {40#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {39#true} is VALID [2018-11-14 18:50:10,863 INFO L273 TraceCheckUtils]: 15: Hoare triple {39#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39#true} is VALID [2018-11-14 18:50:10,863 INFO L273 TraceCheckUtils]: 16: Hoare triple {39#true} assume !true; {39#true} is VALID [2018-11-14 18:50:10,863 INFO L273 TraceCheckUtils]: 17: Hoare triple {39#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39#true} is VALID [2018-11-14 18:50:10,865 INFO L273 TraceCheckUtils]: 18: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:50:10,865 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {39#true} {40#false} #82#return; {40#false} is VALID [2018-11-14 18:50:10,865 INFO L273 TraceCheckUtils]: 20: Hoare triple {40#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {40#false} is VALID [2018-11-14 18:50:10,866 INFO L273 TraceCheckUtils]: 21: Hoare triple {40#false} assume !true; {40#false} is VALID [2018-11-14 18:50:10,866 INFO L273 TraceCheckUtils]: 22: Hoare triple {40#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {40#false} is VALID [2018-11-14 18:50:10,866 INFO L256 TraceCheckUtils]: 23: Hoare triple {40#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {39#true} is VALID [2018-11-14 18:50:10,866 INFO L273 TraceCheckUtils]: 24: Hoare triple {39#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {39#true} is VALID [2018-11-14 18:50:10,868 INFO L273 TraceCheckUtils]: 25: Hoare triple {39#true} assume !true; {39#true} is VALID [2018-11-14 18:50:10,868 INFO L273 TraceCheckUtils]: 26: Hoare triple {39#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {39#true} is VALID [2018-11-14 18:50:10,868 INFO L273 TraceCheckUtils]: 27: Hoare triple {39#true} assume true; {39#true} is VALID [2018-11-14 18:50:10,869 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {39#true} {40#false} #84#return; {40#false} is VALID [2018-11-14 18:50:10,869 INFO L273 TraceCheckUtils]: 29: Hoare triple {40#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {40#false} is VALID [2018-11-14 18:50:10,869 INFO L273 TraceCheckUtils]: 30: Hoare triple {40#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {40#false} is VALID [2018-11-14 18:50:10,870 INFO L273 TraceCheckUtils]: 31: Hoare triple {40#false} assume !false; {40#false} is VALID [2018-11-14 18:50:10,883 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-14 18:50:10,887 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:50:10,887 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:50:10,892 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 18:50:10,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:10,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:50:11,126 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-14 18:50:11,126 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:50:11,135 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:50:11,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:50:11,138 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 2 states. [2018-11-14 18:50:11,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:11,284 INFO L93 Difference]: Finished difference Result 63 states and 82 transitions. [2018-11-14 18:50:11,285 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:50:11,285 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-14 18:50:11,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:11,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:50:11,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2018-11-14 18:50:11,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:50:11,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 82 transitions. [2018-11-14 18:50:11,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 82 transitions. [2018-11-14 18:50:11,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:11,598 INFO L225 Difference]: With dead ends: 63 [2018-11-14 18:50:11,598 INFO L226 Difference]: Without dead ends: 31 [2018-11-14 18:50:11,603 INFO L604 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-14 18:50:11,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-11-14 18:50:11,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-11-14 18:50:11,657 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:11,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2018-11-14 18:50:11,658 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-11-14 18:50:11,658 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-11-14 18:50:11,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:11,664 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-14 18:50:11,664 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-14 18:50:11,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:11,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:11,665 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-11-14 18:50:11,666 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-11-14 18:50:11,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:11,671 INFO L93 Difference]: Finished difference Result 31 states and 36 transitions. [2018-11-14 18:50:11,671 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-14 18:50:11,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:11,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:11,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:11,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:11,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-14 18:50:11,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 36 transitions. [2018-11-14 18:50:11,679 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 36 transitions. Word has length 32 [2018-11-14 18:50:11,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:11,680 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 36 transitions. [2018-11-14 18:50:11,680 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:50:11,680 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 36 transitions. [2018-11-14 18:50:11,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 18:50:11,682 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:11,682 INFO L375 BasicCegarLoop]: trace histogram [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-14 18:50:11,683 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:11,683 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:11,683 INFO L82 PathProgramCache]: Analyzing trace with hash 67834209, now seen corresponding path program 1 times [2018-11-14 18:50:11,684 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:11,684 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:11,685 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:11,685 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:11,685 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:11,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:11,913 INFO L256 TraceCheckUtils]: 0: Hoare triple {227#true} call ULTIMATE.init(); {227#true} is VALID [2018-11-14 18:50:11,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {227#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {227#true} is VALID [2018-11-14 18:50:11,913 INFO L273 TraceCheckUtils]: 2: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,914 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {227#true} {227#true} #76#return; {227#true} is VALID [2018-11-14 18:50:11,915 INFO L256 TraceCheckUtils]: 4: Hoare triple {227#true} call #t~ret14 := main(); {227#true} is VALID [2018-11-14 18:50:11,927 INFO L273 TraceCheckUtils]: 5: Hoare triple {227#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; {229#(= main_~i~1 0)} is VALID [2018-11-14 18:50:11,940 INFO L273 TraceCheckUtils]: 6: Hoare triple {229#(= main_~i~1 0)} assume true; {229#(= main_~i~1 0)} is VALID [2018-11-14 18:50:11,950 INFO L273 TraceCheckUtils]: 7: Hoare triple {229#(= main_~i~1 0)} assume !(~i~1 < 5); {228#false} is VALID [2018-11-14 18:50:11,951 INFO L256 TraceCheckUtils]: 8: Hoare triple {228#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {227#true} is VALID [2018-11-14 18:50:11,951 INFO L273 TraceCheckUtils]: 9: Hoare triple {227#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {227#true} is VALID [2018-11-14 18:50:11,951 INFO L273 TraceCheckUtils]: 10: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,952 INFO L273 TraceCheckUtils]: 11: Hoare triple {227#true} assume !(~i~0 < 5); {227#true} is VALID [2018-11-14 18:50:11,952 INFO L273 TraceCheckUtils]: 12: Hoare triple {227#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {227#true} is VALID [2018-11-14 18:50:11,952 INFO L273 TraceCheckUtils]: 13: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,953 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {227#true} {228#false} #80#return; {228#false} is VALID [2018-11-14 18:50:11,953 INFO L273 TraceCheckUtils]: 15: Hoare triple {228#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {228#false} is VALID [2018-11-14 18:50:11,953 INFO L256 TraceCheckUtils]: 16: Hoare triple {228#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {227#true} is VALID [2018-11-14 18:50:11,953 INFO L273 TraceCheckUtils]: 17: Hoare triple {227#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {227#true} is VALID [2018-11-14 18:50:11,954 INFO L273 TraceCheckUtils]: 18: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,954 INFO L273 TraceCheckUtils]: 19: Hoare triple {227#true} assume !(~i~0 < 5); {227#true} is VALID [2018-11-14 18:50:11,955 INFO L273 TraceCheckUtils]: 20: Hoare triple {227#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {227#true} is VALID [2018-11-14 18:50:11,955 INFO L273 TraceCheckUtils]: 21: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,955 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {227#true} {228#false} #82#return; {228#false} is VALID [2018-11-14 18:50:11,956 INFO L273 TraceCheckUtils]: 23: Hoare triple {228#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {228#false} is VALID [2018-11-14 18:50:11,962 INFO L273 TraceCheckUtils]: 24: Hoare triple {228#false} assume true; {228#false} is VALID [2018-11-14 18:50:11,963 INFO L273 TraceCheckUtils]: 25: Hoare triple {228#false} assume !(~i~2 < 4); {228#false} is VALID [2018-11-14 18:50:11,963 INFO L273 TraceCheckUtils]: 26: Hoare triple {228#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {228#false} is VALID [2018-11-14 18:50:11,963 INFO L256 TraceCheckUtils]: 27: Hoare triple {228#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {227#true} is VALID [2018-11-14 18:50:11,964 INFO L273 TraceCheckUtils]: 28: Hoare triple {227#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {227#true} is VALID [2018-11-14 18:50:11,964 INFO L273 TraceCheckUtils]: 29: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,964 INFO L273 TraceCheckUtils]: 30: Hoare triple {227#true} assume !(~i~0 < 5); {227#true} is VALID [2018-11-14 18:50:11,967 INFO L273 TraceCheckUtils]: 31: Hoare triple {227#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {227#true} is VALID [2018-11-14 18:50:11,968 INFO L273 TraceCheckUtils]: 32: Hoare triple {227#true} assume true; {227#true} is VALID [2018-11-14 18:50:11,968 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {227#true} {228#false} #84#return; {228#false} is VALID [2018-11-14 18:50:11,968 INFO L273 TraceCheckUtils]: 34: Hoare triple {228#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {228#false} is VALID [2018-11-14 18:50:11,969 INFO L273 TraceCheckUtils]: 35: Hoare triple {228#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {228#false} is VALID [2018-11-14 18:50:11,969 INFO L273 TraceCheckUtils]: 36: Hoare triple {228#false} assume !false; {228#false} is VALID [2018-11-14 18:50:11,972 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-14 18:50:11,972 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:50:11,973 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:50:11,975 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-14 18:50:11,976 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:11,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:50:12,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:12,291 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:50:12,291 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:50:12,291 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:50:12,292 INFO L87 Difference]: Start difference. First operand 31 states and 36 transitions. Second operand 3 states. [2018-11-14 18:50:12,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:12,670 INFO L93 Difference]: Finished difference Result 56 states and 66 transitions. [2018-11-14 18:50:12,670 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:50:12,670 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2018-11-14 18:50:12,671 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:12,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:50:12,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2018-11-14 18:50:12,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:50:12,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2018-11-14 18:50:12,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2018-11-14 18:50:12,833 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:12,836 INFO L225 Difference]: With dead ends: 56 [2018-11-14 18:50:12,836 INFO L226 Difference]: Without dead ends: 34 [2018-11-14 18:50:12,837 INFO L604 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-14 18:50:12,838 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-14 18:50:12,860 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2018-11-14 18:50:12,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:12,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2018-11-14 18:50:12,860 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2018-11-14 18:50:12,861 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2018-11-14 18:50:12,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:12,864 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-14 18:50:12,865 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-14 18:50:12,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:12,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:12,866 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2018-11-14 18:50:12,866 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2018-11-14 18:50:12,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:12,870 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-14 18:50:12,870 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-14 18:50:12,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:12,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:12,871 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:12,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:12,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-14 18:50:12,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 38 transitions. [2018-11-14 18:50:12,874 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 38 transitions. Word has length 37 [2018-11-14 18:50:12,875 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:12,875 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 38 transitions. [2018-11-14 18:50:12,875 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:50:12,875 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2018-11-14 18:50:12,877 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-14 18:50:12,877 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:12,877 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 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-14 18:50:12,878 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:12,878 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:12,878 INFO L82 PathProgramCache]: Analyzing trace with hash -894388192, now seen corresponding path program 1 times [2018-11-14 18:50:12,878 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:12,878 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:12,879 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:12,880 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:12,880 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:12,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:12,951 INFO L256 TraceCheckUtils]: 0: Hoare triple {419#true} call ULTIMATE.init(); {419#true} is VALID [2018-11-14 18:50:12,952 INFO L273 TraceCheckUtils]: 1: Hoare triple {419#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {419#true} is VALID [2018-11-14 18:50:12,952 INFO L273 TraceCheckUtils]: 2: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,952 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {419#true} {419#true} #76#return; {419#true} is VALID [2018-11-14 18:50:12,953 INFO L256 TraceCheckUtils]: 4: Hoare triple {419#true} call #t~ret14 := main(); {419#true} is VALID [2018-11-14 18:50:12,953 INFO L273 TraceCheckUtils]: 5: Hoare triple {419#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; {419#true} is VALID [2018-11-14 18:50:12,953 INFO L273 TraceCheckUtils]: 6: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,954 INFO L273 TraceCheckUtils]: 7: Hoare triple {419#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {419#true} is VALID [2018-11-14 18:50:12,954 INFO L273 TraceCheckUtils]: 8: Hoare triple {419#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {419#true} is VALID [2018-11-14 18:50:12,954 INFO L273 TraceCheckUtils]: 9: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,955 INFO L273 TraceCheckUtils]: 10: Hoare triple {419#true} assume !(~i~1 < 5); {419#true} is VALID [2018-11-14 18:50:12,955 INFO L256 TraceCheckUtils]: 11: Hoare triple {419#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {419#true} is VALID [2018-11-14 18:50:12,956 INFO L273 TraceCheckUtils]: 12: Hoare triple {419#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {421#(= max_~i~0 0)} is VALID [2018-11-14 18:50:12,959 INFO L273 TraceCheckUtils]: 13: Hoare triple {421#(= max_~i~0 0)} assume true; {421#(= max_~i~0 0)} is VALID [2018-11-14 18:50:12,959 INFO L273 TraceCheckUtils]: 14: Hoare triple {421#(= max_~i~0 0)} assume !(~i~0 < 5); {420#false} is VALID [2018-11-14 18:50:12,960 INFO L273 TraceCheckUtils]: 15: Hoare triple {420#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {420#false} is VALID [2018-11-14 18:50:12,960 INFO L273 TraceCheckUtils]: 16: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:12,960 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {420#false} {419#true} #80#return; {420#false} is VALID [2018-11-14 18:50:12,960 INFO L273 TraceCheckUtils]: 18: Hoare triple {420#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {420#false} is VALID [2018-11-14 18:50:12,961 INFO L256 TraceCheckUtils]: 19: Hoare triple {420#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {419#true} is VALID [2018-11-14 18:50:12,961 INFO L273 TraceCheckUtils]: 20: Hoare triple {419#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {419#true} is VALID [2018-11-14 18:50:12,961 INFO L273 TraceCheckUtils]: 21: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,961 INFO L273 TraceCheckUtils]: 22: Hoare triple {419#true} assume !(~i~0 < 5); {419#true} is VALID [2018-11-14 18:50:12,962 INFO L273 TraceCheckUtils]: 23: Hoare triple {419#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {419#true} is VALID [2018-11-14 18:50:12,962 INFO L273 TraceCheckUtils]: 24: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,962 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {419#true} {420#false} #82#return; {420#false} is VALID [2018-11-14 18:50:12,963 INFO L273 TraceCheckUtils]: 26: Hoare triple {420#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {420#false} is VALID [2018-11-14 18:50:12,963 INFO L273 TraceCheckUtils]: 27: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:12,963 INFO L273 TraceCheckUtils]: 28: Hoare triple {420#false} assume !(~i~2 < 4); {420#false} is VALID [2018-11-14 18:50:12,964 INFO L273 TraceCheckUtils]: 29: Hoare triple {420#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {420#false} is VALID [2018-11-14 18:50:12,964 INFO L256 TraceCheckUtils]: 30: Hoare triple {420#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {419#true} is VALID [2018-11-14 18:50:12,964 INFO L273 TraceCheckUtils]: 31: Hoare triple {419#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {419#true} is VALID [2018-11-14 18:50:12,965 INFO L273 TraceCheckUtils]: 32: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,965 INFO L273 TraceCheckUtils]: 33: Hoare triple {419#true} assume !(~i~0 < 5); {419#true} is VALID [2018-11-14 18:50:12,965 INFO L273 TraceCheckUtils]: 34: Hoare triple {419#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {419#true} is VALID [2018-11-14 18:50:12,966 INFO L273 TraceCheckUtils]: 35: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:12,966 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {419#true} {420#false} #84#return; {420#false} is VALID [2018-11-14 18:50:12,966 INFO L273 TraceCheckUtils]: 37: Hoare triple {420#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {420#false} is VALID [2018-11-14 18:50:12,967 INFO L273 TraceCheckUtils]: 38: Hoare triple {420#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {420#false} is VALID [2018-11-14 18:50:12,967 INFO L273 TraceCheckUtils]: 39: Hoare triple {420#false} assume !false; {420#false} is VALID [2018-11-14 18:50:12,970 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2018-11-14 18:50:12,970 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:12,971 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-14 18:50:12,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:13,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:13,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:13,064 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:13,225 INFO L256 TraceCheckUtils]: 0: Hoare triple {419#true} call ULTIMATE.init(); {419#true} is VALID [2018-11-14 18:50:13,225 INFO L273 TraceCheckUtils]: 1: Hoare triple {419#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {419#true} is VALID [2018-11-14 18:50:13,226 INFO L273 TraceCheckUtils]: 2: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:13,226 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {419#true} {419#true} #76#return; {419#true} is VALID [2018-11-14 18:50:13,226 INFO L256 TraceCheckUtils]: 4: Hoare triple {419#true} call #t~ret14 := main(); {419#true} is VALID [2018-11-14 18:50:13,226 INFO L273 TraceCheckUtils]: 5: Hoare triple {419#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; {419#true} is VALID [2018-11-14 18:50:13,227 INFO L273 TraceCheckUtils]: 6: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:13,227 INFO L273 TraceCheckUtils]: 7: Hoare triple {419#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {419#true} is VALID [2018-11-14 18:50:13,227 INFO L273 TraceCheckUtils]: 8: Hoare triple {419#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {419#true} is VALID [2018-11-14 18:50:13,228 INFO L273 TraceCheckUtils]: 9: Hoare triple {419#true} assume true; {419#true} is VALID [2018-11-14 18:50:13,228 INFO L273 TraceCheckUtils]: 10: Hoare triple {419#true} assume !(~i~1 < 5); {419#true} is VALID [2018-11-14 18:50:13,228 INFO L256 TraceCheckUtils]: 11: Hoare triple {419#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {419#true} is VALID [2018-11-14 18:50:13,242 INFO L273 TraceCheckUtils]: 12: Hoare triple {419#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {461#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:13,245 INFO L273 TraceCheckUtils]: 13: Hoare triple {461#(<= max_~i~0 0)} assume true; {461#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:13,245 INFO L273 TraceCheckUtils]: 14: Hoare triple {461#(<= max_~i~0 0)} assume !(~i~0 < 5); {420#false} is VALID [2018-11-14 18:50:13,246 INFO L273 TraceCheckUtils]: 15: Hoare triple {420#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {420#false} is VALID [2018-11-14 18:50:13,246 INFO L273 TraceCheckUtils]: 16: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,246 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {420#false} {419#true} #80#return; {420#false} is VALID [2018-11-14 18:50:13,247 INFO L273 TraceCheckUtils]: 18: Hoare triple {420#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {420#false} is VALID [2018-11-14 18:50:13,247 INFO L256 TraceCheckUtils]: 19: Hoare triple {420#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {420#false} is VALID [2018-11-14 18:50:13,247 INFO L273 TraceCheckUtils]: 20: Hoare triple {420#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {420#false} is VALID [2018-11-14 18:50:13,248 INFO L273 TraceCheckUtils]: 21: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,248 INFO L273 TraceCheckUtils]: 22: Hoare triple {420#false} assume !(~i~0 < 5); {420#false} is VALID [2018-11-14 18:50:13,249 INFO L273 TraceCheckUtils]: 23: Hoare triple {420#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {420#false} is VALID [2018-11-14 18:50:13,249 INFO L273 TraceCheckUtils]: 24: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,249 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {420#false} {420#false} #82#return; {420#false} is VALID [2018-11-14 18:50:13,250 INFO L273 TraceCheckUtils]: 26: Hoare triple {420#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {420#false} is VALID [2018-11-14 18:50:13,250 INFO L273 TraceCheckUtils]: 27: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,250 INFO L273 TraceCheckUtils]: 28: Hoare triple {420#false} assume !(~i~2 < 4); {420#false} is VALID [2018-11-14 18:50:13,250 INFO L273 TraceCheckUtils]: 29: Hoare triple {420#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {420#false} is VALID [2018-11-14 18:50:13,251 INFO L256 TraceCheckUtils]: 30: Hoare triple {420#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {420#false} is VALID [2018-11-14 18:50:13,251 INFO L273 TraceCheckUtils]: 31: Hoare triple {420#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {420#false} is VALID [2018-11-14 18:50:13,251 INFO L273 TraceCheckUtils]: 32: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,252 INFO L273 TraceCheckUtils]: 33: Hoare triple {420#false} assume !(~i~0 < 5); {420#false} is VALID [2018-11-14 18:50:13,252 INFO L273 TraceCheckUtils]: 34: Hoare triple {420#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {420#false} is VALID [2018-11-14 18:50:13,252 INFO L273 TraceCheckUtils]: 35: Hoare triple {420#false} assume true; {420#false} is VALID [2018-11-14 18:50:13,253 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {420#false} {420#false} #84#return; {420#false} is VALID [2018-11-14 18:50:13,253 INFO L273 TraceCheckUtils]: 37: Hoare triple {420#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {420#false} is VALID [2018-11-14 18:50:13,253 INFO L273 TraceCheckUtils]: 38: Hoare triple {420#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {420#false} is VALID [2018-11-14 18:50:13,253 INFO L273 TraceCheckUtils]: 39: Hoare triple {420#false} assume !false; {420#false} is VALID [2018-11-14 18:50:13,256 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2018-11-14 18:50:13,284 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-14 18:50:13,284 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [3] total 4 [2018-11-14 18:50:13,285 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-14 18:50:13,288 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:13,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:50:13,503 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:13,503 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:50:13,503 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:50:13,504 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:50:13,504 INFO L87 Difference]: Start difference. First operand 33 states and 38 transitions. Second operand 4 states. [2018-11-14 18:50:13,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:13,771 INFO L93 Difference]: Finished difference Result 59 states and 72 transitions. [2018-11-14 18:50:13,771 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:50:13,771 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 40 [2018-11-14 18:50:13,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:13,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:50:13,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-14 18:50:13,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:50:13,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-14 18:50:13,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 70 transitions. [2018-11-14 18:50:13,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:13,908 INFO L225 Difference]: With dead ends: 59 [2018-11-14 18:50:13,908 INFO L226 Difference]: Without dead ends: 38 [2018-11-14 18:50:13,909 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 40 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-14 18:50:13,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-14 18:50:13,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 35. [2018-11-14 18:50:13,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:13,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 35 states. [2018-11-14 18:50:13,936 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 35 states. [2018-11-14 18:50:13,937 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 35 states. [2018-11-14 18:50:13,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:13,940 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2018-11-14 18:50:13,940 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2018-11-14 18:50:13,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:13,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:13,941 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 38 states. [2018-11-14 18:50:13,941 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 38 states. [2018-11-14 18:50:13,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:13,944 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2018-11-14 18:50:13,945 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2018-11-14 18:50:13,945 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:13,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:13,946 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:13,946 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:13,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-14 18:50:13,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 40 transitions. [2018-11-14 18:50:13,949 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 40 transitions. Word has length 40 [2018-11-14 18:50:13,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:13,949 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 40 transitions. [2018-11-14 18:50:13,949 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:50:13,950 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-14 18:50:13,951 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-14 18:50:13,951 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:13,952 INFO L375 BasicCegarLoop]: trace histogram [6, 3, 3, 3, 3, 3, 3, 3, 3, 2, 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-14 18:50:13,952 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:13,952 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:13,953 INFO L82 PathProgramCache]: Analyzing trace with hash -1311444789, now seen corresponding path program 1 times [2018-11-14 18:50:13,953 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:13,953 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:13,954 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:13,954 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:13,954 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:13,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:14,054 INFO L256 TraceCheckUtils]: 0: Hoare triple {743#true} call ULTIMATE.init(); {743#true} is VALID [2018-11-14 18:50:14,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {743#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {743#true} is VALID [2018-11-14 18:50:14,054 INFO L273 TraceCheckUtils]: 2: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,055 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {743#true} {743#true} #76#return; {743#true} is VALID [2018-11-14 18:50:14,055 INFO L256 TraceCheckUtils]: 4: Hoare triple {743#true} call #t~ret14 := main(); {743#true} is VALID [2018-11-14 18:50:14,055 INFO L273 TraceCheckUtils]: 5: Hoare triple {743#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; {743#true} is VALID [2018-11-14 18:50:14,055 INFO L273 TraceCheckUtils]: 6: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,056 INFO L273 TraceCheckUtils]: 7: Hoare triple {743#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {743#true} is VALID [2018-11-14 18:50:14,056 INFO L273 TraceCheckUtils]: 8: Hoare triple {743#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {743#true} is VALID [2018-11-14 18:50:14,056 INFO L273 TraceCheckUtils]: 9: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,057 INFO L273 TraceCheckUtils]: 10: Hoare triple {743#true} assume !(~i~1 < 5); {743#true} is VALID [2018-11-14 18:50:14,057 INFO L256 TraceCheckUtils]: 11: Hoare triple {743#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {743#true} is VALID [2018-11-14 18:50:14,057 INFO L273 TraceCheckUtils]: 12: Hoare triple {743#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {743#true} is VALID [2018-11-14 18:50:14,057 INFO L273 TraceCheckUtils]: 13: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,058 INFO L273 TraceCheckUtils]: 14: Hoare triple {743#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {743#true} is VALID [2018-11-14 18:50:14,058 INFO L273 TraceCheckUtils]: 15: Hoare triple {743#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {743#true} is VALID [2018-11-14 18:50:14,058 INFO L273 TraceCheckUtils]: 16: Hoare triple {743#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {743#true} is VALID [2018-11-14 18:50:14,059 INFO L273 TraceCheckUtils]: 17: Hoare triple {743#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {743#true} is VALID [2018-11-14 18:50:14,059 INFO L273 TraceCheckUtils]: 18: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,059 INFO L273 TraceCheckUtils]: 19: Hoare triple {743#true} assume !(~i~0 < 5); {743#true} is VALID [2018-11-14 18:50:14,059 INFO L273 TraceCheckUtils]: 20: Hoare triple {743#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {743#true} is VALID [2018-11-14 18:50:14,060 INFO L273 TraceCheckUtils]: 21: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,060 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {743#true} {743#true} #80#return; {743#true} is VALID [2018-11-14 18:50:14,060 INFO L273 TraceCheckUtils]: 23: Hoare triple {743#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {743#true} is VALID [2018-11-14 18:50:14,061 INFO L256 TraceCheckUtils]: 24: Hoare triple {743#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {743#true} is VALID [2018-11-14 18:50:14,061 INFO L273 TraceCheckUtils]: 25: Hoare triple {743#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {743#true} is VALID [2018-11-14 18:50:14,061 INFO L273 TraceCheckUtils]: 26: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,061 INFO L273 TraceCheckUtils]: 27: Hoare triple {743#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {743#true} is VALID [2018-11-14 18:50:14,062 INFO L273 TraceCheckUtils]: 28: Hoare triple {743#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {743#true} is VALID [2018-11-14 18:50:14,062 INFO L273 TraceCheckUtils]: 29: Hoare triple {743#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {743#true} is VALID [2018-11-14 18:50:14,062 INFO L273 TraceCheckUtils]: 30: Hoare triple {743#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {743#true} is VALID [2018-11-14 18:50:14,063 INFO L273 TraceCheckUtils]: 31: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,063 INFO L273 TraceCheckUtils]: 32: Hoare triple {743#true} assume !(~i~0 < 5); {743#true} is VALID [2018-11-14 18:50:14,063 INFO L273 TraceCheckUtils]: 33: Hoare triple {743#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {743#true} is VALID [2018-11-14 18:50:14,063 INFO L273 TraceCheckUtils]: 34: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,064 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {743#true} {743#true} #82#return; {743#true} is VALID [2018-11-14 18:50:14,069 INFO L273 TraceCheckUtils]: 36: Hoare triple {743#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {745#(= main_~i~2 0)} is VALID [2018-11-14 18:50:14,071 INFO L273 TraceCheckUtils]: 37: Hoare triple {745#(= main_~i~2 0)} assume true; {745#(= main_~i~2 0)} is VALID [2018-11-14 18:50:14,071 INFO L273 TraceCheckUtils]: 38: Hoare triple {745#(= main_~i~2 0)} assume !(~i~2 < 4); {744#false} is VALID [2018-11-14 18:50:14,071 INFO L273 TraceCheckUtils]: 39: Hoare triple {744#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {744#false} is VALID [2018-11-14 18:50:14,072 INFO L256 TraceCheckUtils]: 40: Hoare triple {744#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {743#true} is VALID [2018-11-14 18:50:14,072 INFO L273 TraceCheckUtils]: 41: Hoare triple {743#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {743#true} is VALID [2018-11-14 18:50:14,072 INFO L273 TraceCheckUtils]: 42: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,072 INFO L273 TraceCheckUtils]: 43: Hoare triple {743#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {743#true} is VALID [2018-11-14 18:50:14,073 INFO L273 TraceCheckUtils]: 44: Hoare triple {743#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {743#true} is VALID [2018-11-14 18:50:14,073 INFO L273 TraceCheckUtils]: 45: Hoare triple {743#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {743#true} is VALID [2018-11-14 18:50:14,073 INFO L273 TraceCheckUtils]: 46: Hoare triple {743#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {743#true} is VALID [2018-11-14 18:50:14,074 INFO L273 TraceCheckUtils]: 47: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,074 INFO L273 TraceCheckUtils]: 48: Hoare triple {743#true} assume !(~i~0 < 5); {743#true} is VALID [2018-11-14 18:50:14,074 INFO L273 TraceCheckUtils]: 49: Hoare triple {743#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {743#true} is VALID [2018-11-14 18:50:14,075 INFO L273 TraceCheckUtils]: 50: Hoare triple {743#true} assume true; {743#true} is VALID [2018-11-14 18:50:14,075 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {743#true} {744#false} #84#return; {744#false} is VALID [2018-11-14 18:50:14,075 INFO L273 TraceCheckUtils]: 52: Hoare triple {744#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {744#false} is VALID [2018-11-14 18:50:14,075 INFO L273 TraceCheckUtils]: 53: Hoare triple {744#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {744#false} is VALID [2018-11-14 18:50:14,076 INFO L273 TraceCheckUtils]: 54: Hoare triple {744#false} assume !false; {744#false} is VALID [2018-11-14 18:50:14,080 INFO L134 CoverageAnalysis]: Checked inductivity of 53 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:14,081 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:50:14,081 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 18:50:14,081 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 55 [2018-11-14 18:50:14,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:14,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 18:50:14,165 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:14,166 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 18:50:14,166 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 18:50:14,166 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 18:50:14,167 INFO L87 Difference]: Start difference. First operand 35 states and 40 transitions. Second operand 3 states. [2018-11-14 18:50:14,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:14,372 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-14 18:50:14,372 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 18:50:14,372 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 55 [2018-11-14 18:50:14,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:14,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:50:14,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2018-11-14 18:50:14,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 18:50:14,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 56 transitions. [2018-11-14 18:50:14,378 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 56 transitions. [2018-11-14 18:50:14,526 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-14 18:50:14,527 INFO L225 Difference]: With dead ends: 55 [2018-11-14 18:50:14,528 INFO L226 Difference]: Without dead ends: 38 [2018-11-14 18:50:14,528 INFO L604 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-14 18:50:14,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-14 18:50:14,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-14 18:50:14,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:14,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 37 states. [2018-11-14 18:50:14,565 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 37 states. [2018-11-14 18:50:14,565 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 37 states. [2018-11-14 18:50:14,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:14,568 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2018-11-14 18:50:14,569 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2018-11-14 18:50:14,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:14,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:14,570 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 38 states. [2018-11-14 18:50:14,570 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 38 states. [2018-11-14 18:50:14,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:14,573 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2018-11-14 18:50:14,573 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2018-11-14 18:50:14,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:14,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:14,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:14,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:14,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-14 18:50:14,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2018-11-14 18:50:14,577 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 55 [2018-11-14 18:50:14,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:14,577 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2018-11-14 18:50:14,578 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 18:50:14,578 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-14 18:50:14,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-14 18:50:14,579 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:14,580 INFO L375 BasicCegarLoop]: trace histogram [6, 3, 3, 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, 1, 1] [2018-11-14 18:50:14,580 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:14,580 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:14,580 INFO L82 PathProgramCache]: Analyzing trace with hash 1322887922, now seen corresponding path program 1 times [2018-11-14 18:50:14,581 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:14,581 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:14,582 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:14,582 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:14,582 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:14,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:14,684 INFO L256 TraceCheckUtils]: 0: Hoare triple {948#true} call ULTIMATE.init(); {948#true} is VALID [2018-11-14 18:50:14,685 INFO L273 TraceCheckUtils]: 1: Hoare triple {948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {948#true} is VALID [2018-11-14 18:50:14,685 INFO L273 TraceCheckUtils]: 2: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,685 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {948#true} {948#true} #76#return; {948#true} is VALID [2018-11-14 18:50:14,686 INFO L256 TraceCheckUtils]: 4: Hoare triple {948#true} call #t~ret14 := main(); {948#true} is VALID [2018-11-14 18:50:14,690 INFO L273 TraceCheckUtils]: 5: Hoare triple {948#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; {950#(= main_~i~1 0)} is VALID [2018-11-14 18:50:14,691 INFO L273 TraceCheckUtils]: 6: Hoare triple {950#(= main_~i~1 0)} assume true; {950#(= main_~i~1 0)} is VALID [2018-11-14 18:50:14,693 INFO L273 TraceCheckUtils]: 7: Hoare triple {950#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {950#(= main_~i~1 0)} is VALID [2018-11-14 18:50:14,694 INFO L273 TraceCheckUtils]: 8: Hoare triple {950#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {951#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:14,699 INFO L273 TraceCheckUtils]: 9: Hoare triple {951#(<= main_~i~1 1)} assume true; {951#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:14,699 INFO L273 TraceCheckUtils]: 10: Hoare triple {951#(<= main_~i~1 1)} assume !(~i~1 < 5); {949#false} is VALID [2018-11-14 18:50:14,700 INFO L256 TraceCheckUtils]: 11: Hoare triple {949#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {948#true} is VALID [2018-11-14 18:50:14,700 INFO L273 TraceCheckUtils]: 12: Hoare triple {948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {948#true} is VALID [2018-11-14 18:50:14,700 INFO L273 TraceCheckUtils]: 13: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,700 INFO L273 TraceCheckUtils]: 14: Hoare triple {948#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {948#true} is VALID [2018-11-14 18:50:14,700 INFO L273 TraceCheckUtils]: 15: Hoare triple {948#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {948#true} is VALID [2018-11-14 18:50:14,701 INFO L273 TraceCheckUtils]: 16: Hoare triple {948#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {948#true} is VALID [2018-11-14 18:50:14,701 INFO L273 TraceCheckUtils]: 17: Hoare triple {948#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {948#true} is VALID [2018-11-14 18:50:14,701 INFO L273 TraceCheckUtils]: 18: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,701 INFO L273 TraceCheckUtils]: 19: Hoare triple {948#true} assume !(~i~0 < 5); {948#true} is VALID [2018-11-14 18:50:14,701 INFO L273 TraceCheckUtils]: 20: Hoare triple {948#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {948#true} is VALID [2018-11-14 18:50:14,702 INFO L273 TraceCheckUtils]: 21: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,702 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {948#true} {949#false} #80#return; {949#false} is VALID [2018-11-14 18:50:14,702 INFO L273 TraceCheckUtils]: 23: Hoare triple {949#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {949#false} is VALID [2018-11-14 18:50:14,702 INFO L256 TraceCheckUtils]: 24: Hoare triple {949#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {948#true} is VALID [2018-11-14 18:50:14,702 INFO L273 TraceCheckUtils]: 25: Hoare triple {948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {948#true} is VALID [2018-11-14 18:50:14,704 INFO L273 TraceCheckUtils]: 26: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,704 INFO L273 TraceCheckUtils]: 27: Hoare triple {948#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {948#true} is VALID [2018-11-14 18:50:14,704 INFO L273 TraceCheckUtils]: 28: Hoare triple {948#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {948#true} is VALID [2018-11-14 18:50:14,705 INFO L273 TraceCheckUtils]: 29: Hoare triple {948#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {948#true} is VALID [2018-11-14 18:50:14,705 INFO L273 TraceCheckUtils]: 30: Hoare triple {948#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {948#true} is VALID [2018-11-14 18:50:14,705 INFO L273 TraceCheckUtils]: 31: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,706 INFO L273 TraceCheckUtils]: 32: Hoare triple {948#true} assume !(~i~0 < 5); {948#true} is VALID [2018-11-14 18:50:14,706 INFO L273 TraceCheckUtils]: 33: Hoare triple {948#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {948#true} is VALID [2018-11-14 18:50:14,706 INFO L273 TraceCheckUtils]: 34: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,706 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {948#true} {949#false} #82#return; {949#false} is VALID [2018-11-14 18:50:14,708 INFO L273 TraceCheckUtils]: 36: Hoare triple {949#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {949#false} is VALID [2018-11-14 18:50:14,708 INFO L273 TraceCheckUtils]: 37: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:14,708 INFO L273 TraceCheckUtils]: 38: Hoare triple {949#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {949#false} is VALID [2018-11-14 18:50:14,709 INFO L273 TraceCheckUtils]: 39: Hoare triple {949#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {949#false} is VALID [2018-11-14 18:50:14,709 INFO L273 TraceCheckUtils]: 40: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:14,709 INFO L273 TraceCheckUtils]: 41: Hoare triple {949#false} assume !(~i~2 < 4); {949#false} is VALID [2018-11-14 18:50:14,709 INFO L273 TraceCheckUtils]: 42: Hoare triple {949#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {949#false} is VALID [2018-11-14 18:50:14,710 INFO L256 TraceCheckUtils]: 43: Hoare triple {949#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {948#true} is VALID [2018-11-14 18:50:14,710 INFO L273 TraceCheckUtils]: 44: Hoare triple {948#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {948#true} is VALID [2018-11-14 18:50:14,711 INFO L273 TraceCheckUtils]: 45: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,711 INFO L273 TraceCheckUtils]: 46: Hoare triple {948#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {948#true} is VALID [2018-11-14 18:50:14,711 INFO L273 TraceCheckUtils]: 47: Hoare triple {948#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {948#true} is VALID [2018-11-14 18:50:14,711 INFO L273 TraceCheckUtils]: 48: Hoare triple {948#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {948#true} is VALID [2018-11-14 18:50:14,712 INFO L273 TraceCheckUtils]: 49: Hoare triple {948#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {948#true} is VALID [2018-11-14 18:50:14,712 INFO L273 TraceCheckUtils]: 50: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,712 INFO L273 TraceCheckUtils]: 51: Hoare triple {948#true} assume !(~i~0 < 5); {948#true} is VALID [2018-11-14 18:50:14,713 INFO L273 TraceCheckUtils]: 52: Hoare triple {948#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {948#true} is VALID [2018-11-14 18:50:14,713 INFO L273 TraceCheckUtils]: 53: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:14,713 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {948#true} {949#false} #84#return; {949#false} is VALID [2018-11-14 18:50:14,713 INFO L273 TraceCheckUtils]: 55: Hoare triple {949#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {949#false} is VALID [2018-11-14 18:50:14,714 INFO L273 TraceCheckUtils]: 56: Hoare triple {949#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {949#false} is VALID [2018-11-14 18:50:14,714 INFO L273 TraceCheckUtils]: 57: Hoare triple {949#false} assume !false; {949#false} is VALID [2018-11-14 18:50:14,717 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:14,718 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:14,718 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-14 18:50:14,728 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:14,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:14,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:14,800 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:15,084 INFO L256 TraceCheckUtils]: 0: Hoare triple {948#true} call ULTIMATE.init(); {948#true} is VALID [2018-11-14 18:50:15,085 INFO L273 TraceCheckUtils]: 1: Hoare triple {948#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {948#true} is VALID [2018-11-14 18:50:15,085 INFO L273 TraceCheckUtils]: 2: Hoare triple {948#true} assume true; {948#true} is VALID [2018-11-14 18:50:15,085 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {948#true} {948#true} #76#return; {948#true} is VALID [2018-11-14 18:50:15,086 INFO L256 TraceCheckUtils]: 4: Hoare triple {948#true} call #t~ret14 := main(); {948#true} is VALID [2018-11-14 18:50:15,101 INFO L273 TraceCheckUtils]: 5: Hoare triple {948#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; {970#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,117 INFO L273 TraceCheckUtils]: 6: Hoare triple {970#(<= main_~i~1 0)} assume true; {970#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,125 INFO L273 TraceCheckUtils]: 7: Hoare triple {970#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {970#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,126 INFO L273 TraceCheckUtils]: 8: Hoare triple {970#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {951#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,127 INFO L273 TraceCheckUtils]: 9: Hoare triple {951#(<= main_~i~1 1)} assume true; {951#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,127 INFO L273 TraceCheckUtils]: 10: Hoare triple {951#(<= main_~i~1 1)} assume !(~i~1 < 5); {949#false} is VALID [2018-11-14 18:50:15,127 INFO L256 TraceCheckUtils]: 11: Hoare triple {949#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {949#false} is VALID [2018-11-14 18:50:15,128 INFO L273 TraceCheckUtils]: 12: Hoare triple {949#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {949#false} is VALID [2018-11-14 18:50:15,128 INFO L273 TraceCheckUtils]: 13: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,128 INFO L273 TraceCheckUtils]: 14: Hoare triple {949#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {949#false} is VALID [2018-11-14 18:50:15,128 INFO L273 TraceCheckUtils]: 15: Hoare triple {949#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {949#false} is VALID [2018-11-14 18:50:15,128 INFO L273 TraceCheckUtils]: 16: Hoare triple {949#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {949#false} is VALID [2018-11-14 18:50:15,129 INFO L273 TraceCheckUtils]: 17: Hoare triple {949#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {949#false} is VALID [2018-11-14 18:50:15,129 INFO L273 TraceCheckUtils]: 18: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,129 INFO L273 TraceCheckUtils]: 19: Hoare triple {949#false} assume !(~i~0 < 5); {949#false} is VALID [2018-11-14 18:50:15,129 INFO L273 TraceCheckUtils]: 20: Hoare triple {949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {949#false} is VALID [2018-11-14 18:50:15,129 INFO L273 TraceCheckUtils]: 21: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,130 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {949#false} {949#false} #80#return; {949#false} is VALID [2018-11-14 18:50:15,130 INFO L273 TraceCheckUtils]: 23: Hoare triple {949#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {949#false} is VALID [2018-11-14 18:50:15,130 INFO L256 TraceCheckUtils]: 24: Hoare triple {949#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {949#false} is VALID [2018-11-14 18:50:15,130 INFO L273 TraceCheckUtils]: 25: Hoare triple {949#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {949#false} is VALID [2018-11-14 18:50:15,130 INFO L273 TraceCheckUtils]: 26: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 27: Hoare triple {949#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 28: Hoare triple {949#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 29: Hoare triple {949#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 30: Hoare triple {949#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 31: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,131 INFO L273 TraceCheckUtils]: 32: Hoare triple {949#false} assume !(~i~0 < 5); {949#false} is VALID [2018-11-14 18:50:15,132 INFO L273 TraceCheckUtils]: 33: Hoare triple {949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {949#false} is VALID [2018-11-14 18:50:15,132 INFO L273 TraceCheckUtils]: 34: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,132 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {949#false} {949#false} #82#return; {949#false} is VALID [2018-11-14 18:50:15,132 INFO L273 TraceCheckUtils]: 36: Hoare triple {949#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {949#false} is VALID [2018-11-14 18:50:15,132 INFO L273 TraceCheckUtils]: 37: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,133 INFO L273 TraceCheckUtils]: 38: Hoare triple {949#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {949#false} is VALID [2018-11-14 18:50:15,133 INFO L273 TraceCheckUtils]: 39: Hoare triple {949#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {949#false} is VALID [2018-11-14 18:50:15,133 INFO L273 TraceCheckUtils]: 40: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,133 INFO L273 TraceCheckUtils]: 41: Hoare triple {949#false} assume !(~i~2 < 4); {949#false} is VALID [2018-11-14 18:50:15,134 INFO L273 TraceCheckUtils]: 42: Hoare triple {949#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {949#false} is VALID [2018-11-14 18:50:15,134 INFO L256 TraceCheckUtils]: 43: Hoare triple {949#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {949#false} is VALID [2018-11-14 18:50:15,134 INFO L273 TraceCheckUtils]: 44: Hoare triple {949#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {949#false} is VALID [2018-11-14 18:50:15,134 INFO L273 TraceCheckUtils]: 45: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,134 INFO L273 TraceCheckUtils]: 46: Hoare triple {949#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {949#false} is VALID [2018-11-14 18:50:15,135 INFO L273 TraceCheckUtils]: 47: Hoare triple {949#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {949#false} is VALID [2018-11-14 18:50:15,135 INFO L273 TraceCheckUtils]: 48: Hoare triple {949#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {949#false} is VALID [2018-11-14 18:50:15,135 INFO L273 TraceCheckUtils]: 49: Hoare triple {949#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {949#false} is VALID [2018-11-14 18:50:15,135 INFO L273 TraceCheckUtils]: 50: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,136 INFO L273 TraceCheckUtils]: 51: Hoare triple {949#false} assume !(~i~0 < 5); {949#false} is VALID [2018-11-14 18:50:15,136 INFO L273 TraceCheckUtils]: 52: Hoare triple {949#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {949#false} is VALID [2018-11-14 18:50:15,136 INFO L273 TraceCheckUtils]: 53: Hoare triple {949#false} assume true; {949#false} is VALID [2018-11-14 18:50:15,136 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {949#false} {949#false} #84#return; {949#false} is VALID [2018-11-14 18:50:15,137 INFO L273 TraceCheckUtils]: 55: Hoare triple {949#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {949#false} is VALID [2018-11-14 18:50:15,137 INFO L273 TraceCheckUtils]: 56: Hoare triple {949#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {949#false} is VALID [2018-11-14 18:50:15,137 INFO L273 TraceCheckUtils]: 57: Hoare triple {949#false} assume !false; {949#false} is VALID [2018-11-14 18:50:15,140 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:15,161 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:15,161 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2018-11-14 18:50:15,162 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 58 [2018-11-14 18:50:15,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:15,163 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 18:50:15,284 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-14 18:50:15,285 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 18:50:15,285 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 18:50:15,285 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2018-11-14 18:50:15,286 INFO L87 Difference]: Start difference. First operand 37 states and 42 transitions. Second operand 5 states. [2018-11-14 18:50:15,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:15,446 INFO L93 Difference]: Finished difference Result 67 states and 77 transitions. [2018-11-14 18:50:15,446 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:50:15,446 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 58 [2018-11-14 18:50:15,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:15,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:50:15,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 69 transitions. [2018-11-14 18:50:15,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 18:50:15,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 69 transitions. [2018-11-14 18:50:15,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 69 transitions. [2018-11-14 18:50:15,548 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:15,550 INFO L225 Difference]: With dead ends: 67 [2018-11-14 18:50:15,550 INFO L226 Difference]: Without dead ends: 41 [2018-11-14 18:50:15,551 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 58 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-14 18:50:15,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-14 18:50:15,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 40. [2018-11-14 18:50:15,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:15,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 40 states. [2018-11-14 18:50:15,569 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 40 states. [2018-11-14 18:50:15,569 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 40 states. [2018-11-14 18:50:15,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:15,572 INFO L93 Difference]: Finished difference Result 41 states and 46 transitions. [2018-11-14 18:50:15,572 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 46 transitions. [2018-11-14 18:50:15,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:15,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:15,573 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 41 states. [2018-11-14 18:50:15,573 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 41 states. [2018-11-14 18:50:15,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:15,576 INFO L93 Difference]: Finished difference Result 41 states and 46 transitions. [2018-11-14 18:50:15,576 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 46 transitions. [2018-11-14 18:50:15,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:15,576 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:15,577 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:15,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:15,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-14 18:50:15,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2018-11-14 18:50:15,579 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 58 [2018-11-14 18:50:15,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:15,580 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2018-11-14 18:50:15,580 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 18:50:15,580 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-14 18:50:15,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2018-11-14 18:50:15,582 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:15,582 INFO L375 BasicCegarLoop]: trace histogram [6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:50:15,582 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:15,582 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:15,583 INFO L82 PathProgramCache]: Analyzing trace with hash -1507982957, now seen corresponding path program 2 times [2018-11-14 18:50:15,583 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:15,583 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:15,584 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:15,584 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:15,584 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:15,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:15,703 INFO L256 TraceCheckUtils]: 0: Hoare triple {1353#true} call ULTIMATE.init(); {1353#true} is VALID [2018-11-14 18:50:15,704 INFO L273 TraceCheckUtils]: 1: Hoare triple {1353#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1353#true} is VALID [2018-11-14 18:50:15,704 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,704 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1353#true} {1353#true} #76#return; {1353#true} is VALID [2018-11-14 18:50:15,705 INFO L256 TraceCheckUtils]: 4: Hoare triple {1353#true} call #t~ret14 := main(); {1353#true} is VALID [2018-11-14 18:50:15,705 INFO L273 TraceCheckUtils]: 5: Hoare triple {1353#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; {1355#(= main_~i~1 0)} is VALID [2018-11-14 18:50:15,706 INFO L273 TraceCheckUtils]: 6: Hoare triple {1355#(= main_~i~1 0)} assume true; {1355#(= main_~i~1 0)} is VALID [2018-11-14 18:50:15,706 INFO L273 TraceCheckUtils]: 7: Hoare triple {1355#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1355#(= main_~i~1 0)} is VALID [2018-11-14 18:50:15,709 INFO L273 TraceCheckUtils]: 8: Hoare triple {1355#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,709 INFO L273 TraceCheckUtils]: 9: Hoare triple {1356#(<= main_~i~1 1)} assume true; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,711 INFO L273 TraceCheckUtils]: 10: Hoare triple {1356#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,712 INFO L273 TraceCheckUtils]: 11: Hoare triple {1356#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1357#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:15,714 INFO L273 TraceCheckUtils]: 12: Hoare triple {1357#(<= main_~i~1 2)} assume true; {1357#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:15,714 INFO L273 TraceCheckUtils]: 13: Hoare triple {1357#(<= main_~i~1 2)} assume !(~i~1 < 5); {1354#false} is VALID [2018-11-14 18:50:15,715 INFO L256 TraceCheckUtils]: 14: Hoare triple {1354#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1353#true} is VALID [2018-11-14 18:50:15,715 INFO L273 TraceCheckUtils]: 15: Hoare triple {1353#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1353#true} is VALID [2018-11-14 18:50:15,715 INFO L273 TraceCheckUtils]: 16: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,716 INFO L273 TraceCheckUtils]: 17: Hoare triple {1353#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1353#true} is VALID [2018-11-14 18:50:15,716 INFO L273 TraceCheckUtils]: 18: Hoare triple {1353#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1353#true} is VALID [2018-11-14 18:50:15,716 INFO L273 TraceCheckUtils]: 19: Hoare triple {1353#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1353#true} is VALID [2018-11-14 18:50:15,717 INFO L273 TraceCheckUtils]: 20: Hoare triple {1353#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1353#true} is VALID [2018-11-14 18:50:15,717 INFO L273 TraceCheckUtils]: 21: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,717 INFO L273 TraceCheckUtils]: 22: Hoare triple {1353#true} assume !(~i~0 < 5); {1353#true} is VALID [2018-11-14 18:50:15,718 INFO L273 TraceCheckUtils]: 23: Hoare triple {1353#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1353#true} is VALID [2018-11-14 18:50:15,718 INFO L273 TraceCheckUtils]: 24: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,718 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1353#true} {1354#false} #80#return; {1354#false} is VALID [2018-11-14 18:50:15,718 INFO L273 TraceCheckUtils]: 26: Hoare triple {1354#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1354#false} is VALID [2018-11-14 18:50:15,719 INFO L256 TraceCheckUtils]: 27: Hoare triple {1354#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1353#true} is VALID [2018-11-14 18:50:15,719 INFO L273 TraceCheckUtils]: 28: Hoare triple {1353#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1353#true} is VALID [2018-11-14 18:50:15,719 INFO L273 TraceCheckUtils]: 29: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,719 INFO L273 TraceCheckUtils]: 30: Hoare triple {1353#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1353#true} is VALID [2018-11-14 18:50:15,719 INFO L273 TraceCheckUtils]: 31: Hoare triple {1353#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1353#true} is VALID [2018-11-14 18:50:15,720 INFO L273 TraceCheckUtils]: 32: Hoare triple {1353#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1353#true} is VALID [2018-11-14 18:50:15,720 INFO L273 TraceCheckUtils]: 33: Hoare triple {1353#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1353#true} is VALID [2018-11-14 18:50:15,720 INFO L273 TraceCheckUtils]: 34: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,720 INFO L273 TraceCheckUtils]: 35: Hoare triple {1353#true} assume !(~i~0 < 5); {1353#true} is VALID [2018-11-14 18:50:15,721 INFO L273 TraceCheckUtils]: 36: Hoare triple {1353#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1353#true} is VALID [2018-11-14 18:50:15,721 INFO L273 TraceCheckUtils]: 37: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,721 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1353#true} {1354#false} #82#return; {1354#false} is VALID [2018-11-14 18:50:15,721 INFO L273 TraceCheckUtils]: 39: Hoare triple {1354#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1354#false} is VALID [2018-11-14 18:50:15,722 INFO L273 TraceCheckUtils]: 40: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,722 INFO L273 TraceCheckUtils]: 41: Hoare triple {1354#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1354#false} is VALID [2018-11-14 18:50:15,722 INFO L273 TraceCheckUtils]: 42: Hoare triple {1354#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1354#false} is VALID [2018-11-14 18:50:15,722 INFO L273 TraceCheckUtils]: 43: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,723 INFO L273 TraceCheckUtils]: 44: Hoare triple {1354#false} assume !(~i~2 < 4); {1354#false} is VALID [2018-11-14 18:50:15,723 INFO L273 TraceCheckUtils]: 45: Hoare triple {1354#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1354#false} is VALID [2018-11-14 18:50:15,723 INFO L256 TraceCheckUtils]: 46: Hoare triple {1354#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1353#true} is VALID [2018-11-14 18:50:15,724 INFO L273 TraceCheckUtils]: 47: Hoare triple {1353#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1353#true} is VALID [2018-11-14 18:50:15,724 INFO L273 TraceCheckUtils]: 48: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,724 INFO L273 TraceCheckUtils]: 49: Hoare triple {1353#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1353#true} is VALID [2018-11-14 18:50:15,724 INFO L273 TraceCheckUtils]: 50: Hoare triple {1353#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1353#true} is VALID [2018-11-14 18:50:15,725 INFO L273 TraceCheckUtils]: 51: Hoare triple {1353#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1353#true} is VALID [2018-11-14 18:50:15,725 INFO L273 TraceCheckUtils]: 52: Hoare triple {1353#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1353#true} is VALID [2018-11-14 18:50:15,725 INFO L273 TraceCheckUtils]: 53: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,725 INFO L273 TraceCheckUtils]: 54: Hoare triple {1353#true} assume !(~i~0 < 5); {1353#true} is VALID [2018-11-14 18:50:15,726 INFO L273 TraceCheckUtils]: 55: Hoare triple {1353#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1353#true} is VALID [2018-11-14 18:50:15,726 INFO L273 TraceCheckUtils]: 56: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,726 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1353#true} {1354#false} #84#return; {1354#false} is VALID [2018-11-14 18:50:15,726 INFO L273 TraceCheckUtils]: 58: Hoare triple {1354#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1354#false} is VALID [2018-11-14 18:50:15,727 INFO L273 TraceCheckUtils]: 59: Hoare triple {1354#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1354#false} is VALID [2018-11-14 18:50:15,727 INFO L273 TraceCheckUtils]: 60: Hoare triple {1354#false} assume !false; {1354#false} is VALID [2018-11-14 18:50:15,731 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:15,732 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:15,732 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-14 18:50:15,740 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:50:15,784 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:50:15,784 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:15,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:15,822 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:15,941 INFO L256 TraceCheckUtils]: 0: Hoare triple {1353#true} call ULTIMATE.init(); {1353#true} is VALID [2018-11-14 18:50:15,941 INFO L273 TraceCheckUtils]: 1: Hoare triple {1353#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1353#true} is VALID [2018-11-14 18:50:15,942 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#true} assume true; {1353#true} is VALID [2018-11-14 18:50:15,942 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1353#true} {1353#true} #76#return; {1353#true} is VALID [2018-11-14 18:50:15,942 INFO L256 TraceCheckUtils]: 4: Hoare triple {1353#true} call #t~ret14 := main(); {1353#true} is VALID [2018-11-14 18:50:15,948 INFO L273 TraceCheckUtils]: 5: Hoare triple {1353#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; {1376#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,948 INFO L273 TraceCheckUtils]: 6: Hoare triple {1376#(<= main_~i~1 0)} assume true; {1376#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,949 INFO L273 TraceCheckUtils]: 7: Hoare triple {1376#(<= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1376#(<= main_~i~1 0)} is VALID [2018-11-14 18:50:15,949 INFO L273 TraceCheckUtils]: 8: Hoare triple {1376#(<= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,950 INFO L273 TraceCheckUtils]: 9: Hoare triple {1356#(<= main_~i~1 1)} assume true; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,950 INFO L273 TraceCheckUtils]: 10: Hoare triple {1356#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1356#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:15,951 INFO L273 TraceCheckUtils]: 11: Hoare triple {1356#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1357#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:15,952 INFO L273 TraceCheckUtils]: 12: Hoare triple {1357#(<= main_~i~1 2)} assume true; {1357#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:15,952 INFO L273 TraceCheckUtils]: 13: Hoare triple {1357#(<= main_~i~1 2)} assume !(~i~1 < 5); {1354#false} is VALID [2018-11-14 18:50:15,953 INFO L256 TraceCheckUtils]: 14: Hoare triple {1354#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1354#false} is VALID [2018-11-14 18:50:15,953 INFO L273 TraceCheckUtils]: 15: Hoare triple {1354#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1354#false} is VALID [2018-11-14 18:50:15,953 INFO L273 TraceCheckUtils]: 16: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,954 INFO L273 TraceCheckUtils]: 17: Hoare triple {1354#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1354#false} is VALID [2018-11-14 18:50:15,954 INFO L273 TraceCheckUtils]: 18: Hoare triple {1354#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1354#false} is VALID [2018-11-14 18:50:15,954 INFO L273 TraceCheckUtils]: 19: Hoare triple {1354#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1354#false} is VALID [2018-11-14 18:50:15,955 INFO L273 TraceCheckUtils]: 20: Hoare triple {1354#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1354#false} is VALID [2018-11-14 18:50:15,955 INFO L273 TraceCheckUtils]: 21: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,956 INFO L273 TraceCheckUtils]: 22: Hoare triple {1354#false} assume !(~i~0 < 5); {1354#false} is VALID [2018-11-14 18:50:15,956 INFO L273 TraceCheckUtils]: 23: Hoare triple {1354#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1354#false} is VALID [2018-11-14 18:50:15,956 INFO L273 TraceCheckUtils]: 24: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,956 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1354#false} {1354#false} #80#return; {1354#false} is VALID [2018-11-14 18:50:15,957 INFO L273 TraceCheckUtils]: 26: Hoare triple {1354#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1354#false} is VALID [2018-11-14 18:50:15,957 INFO L256 TraceCheckUtils]: 27: Hoare triple {1354#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1354#false} is VALID [2018-11-14 18:50:15,957 INFO L273 TraceCheckUtils]: 28: Hoare triple {1354#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1354#false} is VALID [2018-11-14 18:50:15,957 INFO L273 TraceCheckUtils]: 29: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,958 INFO L273 TraceCheckUtils]: 30: Hoare triple {1354#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1354#false} is VALID [2018-11-14 18:50:15,958 INFO L273 TraceCheckUtils]: 31: Hoare triple {1354#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1354#false} is VALID [2018-11-14 18:50:15,958 INFO L273 TraceCheckUtils]: 32: Hoare triple {1354#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1354#false} is VALID [2018-11-14 18:50:15,958 INFO L273 TraceCheckUtils]: 33: Hoare triple {1354#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1354#false} is VALID [2018-11-14 18:50:15,959 INFO L273 TraceCheckUtils]: 34: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,959 INFO L273 TraceCheckUtils]: 35: Hoare triple {1354#false} assume !(~i~0 < 5); {1354#false} is VALID [2018-11-14 18:50:15,959 INFO L273 TraceCheckUtils]: 36: Hoare triple {1354#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1354#false} is VALID [2018-11-14 18:50:15,959 INFO L273 TraceCheckUtils]: 37: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,959 INFO L268 TraceCheckUtils]: 38: Hoare quadruple {1354#false} {1354#false} #82#return; {1354#false} is VALID [2018-11-14 18:50:15,960 INFO L273 TraceCheckUtils]: 39: Hoare triple {1354#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1354#false} is VALID [2018-11-14 18:50:15,960 INFO L273 TraceCheckUtils]: 40: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,960 INFO L273 TraceCheckUtils]: 41: Hoare triple {1354#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1354#false} is VALID [2018-11-14 18:50:15,960 INFO L273 TraceCheckUtils]: 42: Hoare triple {1354#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 43: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 44: Hoare triple {1354#false} assume !(~i~2 < 4); {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 45: Hoare triple {1354#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L256 TraceCheckUtils]: 46: Hoare triple {1354#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 47: Hoare triple {1354#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 48: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,961 INFO L273 TraceCheckUtils]: 49: Hoare triple {1354#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1354#false} is VALID [2018-11-14 18:50:15,962 INFO L273 TraceCheckUtils]: 50: Hoare triple {1354#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1354#false} is VALID [2018-11-14 18:50:15,962 INFO L273 TraceCheckUtils]: 51: Hoare triple {1354#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1354#false} is VALID [2018-11-14 18:50:15,962 INFO L273 TraceCheckUtils]: 52: Hoare triple {1354#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1354#false} is VALID [2018-11-14 18:50:15,962 INFO L273 TraceCheckUtils]: 53: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,962 INFO L273 TraceCheckUtils]: 54: Hoare triple {1354#false} assume !(~i~0 < 5); {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L273 TraceCheckUtils]: 55: Hoare triple {1354#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L273 TraceCheckUtils]: 56: Hoare triple {1354#false} assume true; {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {1354#false} {1354#false} #84#return; {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L273 TraceCheckUtils]: 58: Hoare triple {1354#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L273 TraceCheckUtils]: 59: Hoare triple {1354#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1354#false} is VALID [2018-11-14 18:50:15,963 INFO L273 TraceCheckUtils]: 60: Hoare triple {1354#false} assume !false; {1354#false} is VALID [2018-11-14 18:50:15,967 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:15,988 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:15,988 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-14 18:50:15,989 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 61 [2018-11-14 18:50:15,990 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:15,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:50:16,124 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-14 18:50:16,124 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:50:16,124 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:50:16,124 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:50:16,125 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand 6 states. [2018-11-14 18:50:16,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:16,305 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2018-11-14 18:50:16,305 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:50:16,305 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 61 [2018-11-14 18:50:16,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:16,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:50:16,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2018-11-14 18:50:16,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:50:16,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 72 transitions. [2018-11-14 18:50:16,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 72 transitions. [2018-11-14 18:50:16,433 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:16,436 INFO L225 Difference]: With dead ends: 70 [2018-11-14 18:50:16,436 INFO L226 Difference]: Without dead ends: 44 [2018-11-14 18:50:16,437 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 61 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-14 18:50:16,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-14 18:50:16,458 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2018-11-14 18:50:16,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:16,459 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 43 states. [2018-11-14 18:50:16,459 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 43 states. [2018-11-14 18:50:16,459 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 43 states. [2018-11-14 18:50:16,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:16,462 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-14 18:50:16,463 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-14 18:50:16,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:16,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:16,463 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 44 states. [2018-11-14 18:50:16,464 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 44 states. [2018-11-14 18:50:16,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:16,466 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-14 18:50:16,466 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-14 18:50:16,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:16,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:16,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:16,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:16,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-14 18:50:16,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 48 transitions. [2018-11-14 18:50:16,470 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 48 transitions. Word has length 61 [2018-11-14 18:50:16,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:16,470 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 48 transitions. [2018-11-14 18:50:16,470 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:50:16,471 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 48 transitions. [2018-11-14 18:50:16,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-14 18:50:16,472 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:16,472 INFO L375 BasicCegarLoop]: trace histogram [6, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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-14 18:50:16,472 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:16,472 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:16,473 INFO L82 PathProgramCache]: Analyzing trace with hash -4514990, now seen corresponding path program 3 times [2018-11-14 18:50:16,473 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:16,473 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:16,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:16,474 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:16,474 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:16,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:16,753 INFO L256 TraceCheckUtils]: 0: Hoare triple {1782#true} call ULTIMATE.init(); {1782#true} is VALID [2018-11-14 18:50:16,753 INFO L273 TraceCheckUtils]: 1: Hoare triple {1782#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1782#true} is VALID [2018-11-14 18:50:16,754 INFO L273 TraceCheckUtils]: 2: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,754 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1782#true} {1782#true} #76#return; {1782#true} is VALID [2018-11-14 18:50:16,754 INFO L256 TraceCheckUtils]: 4: Hoare triple {1782#true} call #t~ret14 := main(); {1782#true} is VALID [2018-11-14 18:50:16,755 INFO L273 TraceCheckUtils]: 5: Hoare triple {1782#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; {1784#(= main_~i~1 0)} is VALID [2018-11-14 18:50:16,755 INFO L273 TraceCheckUtils]: 6: Hoare triple {1784#(= main_~i~1 0)} assume true; {1784#(= main_~i~1 0)} is VALID [2018-11-14 18:50:16,756 INFO L273 TraceCheckUtils]: 7: Hoare triple {1784#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1784#(= main_~i~1 0)} is VALID [2018-11-14 18:50:16,757 INFO L273 TraceCheckUtils]: 8: Hoare triple {1784#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1785#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:16,758 INFO L273 TraceCheckUtils]: 9: Hoare triple {1785#(<= main_~i~1 1)} assume true; {1785#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:16,758 INFO L273 TraceCheckUtils]: 10: Hoare triple {1785#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1785#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:16,759 INFO L273 TraceCheckUtils]: 11: Hoare triple {1785#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1786#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:16,760 INFO L273 TraceCheckUtils]: 12: Hoare triple {1786#(<= main_~i~1 2)} assume true; {1786#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:16,760 INFO L273 TraceCheckUtils]: 13: Hoare triple {1786#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1786#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:16,761 INFO L273 TraceCheckUtils]: 14: Hoare triple {1786#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1787#(<= main_~i~1 3)} is VALID [2018-11-14 18:50:16,762 INFO L273 TraceCheckUtils]: 15: Hoare triple {1787#(<= main_~i~1 3)} assume true; {1787#(<= main_~i~1 3)} is VALID [2018-11-14 18:50:16,763 INFO L273 TraceCheckUtils]: 16: Hoare triple {1787#(<= main_~i~1 3)} assume !(~i~1 < 5); {1783#false} is VALID [2018-11-14 18:50:16,763 INFO L256 TraceCheckUtils]: 17: Hoare triple {1783#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:16,763 INFO L273 TraceCheckUtils]: 18: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1782#true} is VALID [2018-11-14 18:50:16,764 INFO L273 TraceCheckUtils]: 19: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,764 INFO L273 TraceCheckUtils]: 20: Hoare triple {1782#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1782#true} is VALID [2018-11-14 18:50:16,764 INFO L273 TraceCheckUtils]: 21: Hoare triple {1782#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1782#true} is VALID [2018-11-14 18:50:16,765 INFO L273 TraceCheckUtils]: 22: Hoare triple {1782#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1782#true} is VALID [2018-11-14 18:50:16,765 INFO L273 TraceCheckUtils]: 23: Hoare triple {1782#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1782#true} is VALID [2018-11-14 18:50:16,765 INFO L273 TraceCheckUtils]: 24: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,765 INFO L273 TraceCheckUtils]: 25: Hoare triple {1782#true} assume !(~i~0 < 5); {1782#true} is VALID [2018-11-14 18:50:16,766 INFO L273 TraceCheckUtils]: 26: Hoare triple {1782#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1782#true} is VALID [2018-11-14 18:50:16,766 INFO L273 TraceCheckUtils]: 27: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,766 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1782#true} {1783#false} #80#return; {1783#false} is VALID [2018-11-14 18:50:16,766 INFO L273 TraceCheckUtils]: 29: Hoare triple {1783#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1783#false} is VALID [2018-11-14 18:50:16,767 INFO L256 TraceCheckUtils]: 30: Hoare triple {1783#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:16,767 INFO L273 TraceCheckUtils]: 31: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1782#true} is VALID [2018-11-14 18:50:16,767 INFO L273 TraceCheckUtils]: 32: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,767 INFO L273 TraceCheckUtils]: 33: Hoare triple {1782#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1782#true} is VALID [2018-11-14 18:50:16,767 INFO L273 TraceCheckUtils]: 34: Hoare triple {1782#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1782#true} is VALID [2018-11-14 18:50:16,768 INFO L273 TraceCheckUtils]: 35: Hoare triple {1782#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1782#true} is VALID [2018-11-14 18:50:16,768 INFO L273 TraceCheckUtils]: 36: Hoare triple {1782#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1782#true} is VALID [2018-11-14 18:50:16,768 INFO L273 TraceCheckUtils]: 37: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,768 INFO L273 TraceCheckUtils]: 38: Hoare triple {1782#true} assume !(~i~0 < 5); {1782#true} is VALID [2018-11-14 18:50:16,769 INFO L273 TraceCheckUtils]: 39: Hoare triple {1782#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1782#true} is VALID [2018-11-14 18:50:16,769 INFO L273 TraceCheckUtils]: 40: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,769 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1782#true} {1783#false} #82#return; {1783#false} is VALID [2018-11-14 18:50:16,769 INFO L273 TraceCheckUtils]: 42: Hoare triple {1783#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1783#false} is VALID [2018-11-14 18:50:16,770 INFO L273 TraceCheckUtils]: 43: Hoare triple {1783#false} assume true; {1783#false} is VALID [2018-11-14 18:50:16,770 INFO L273 TraceCheckUtils]: 44: Hoare triple {1783#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1783#false} is VALID [2018-11-14 18:50:16,770 INFO L273 TraceCheckUtils]: 45: Hoare triple {1783#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1783#false} is VALID [2018-11-14 18:50:16,770 INFO L273 TraceCheckUtils]: 46: Hoare triple {1783#false} assume true; {1783#false} is VALID [2018-11-14 18:50:16,770 INFO L273 TraceCheckUtils]: 47: Hoare triple {1783#false} assume !(~i~2 < 4); {1783#false} is VALID [2018-11-14 18:50:16,771 INFO L273 TraceCheckUtils]: 48: Hoare triple {1783#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1783#false} is VALID [2018-11-14 18:50:16,771 INFO L256 TraceCheckUtils]: 49: Hoare triple {1783#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:16,771 INFO L273 TraceCheckUtils]: 50: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1782#true} is VALID [2018-11-14 18:50:16,771 INFO L273 TraceCheckUtils]: 51: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,771 INFO L273 TraceCheckUtils]: 52: Hoare triple {1782#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1782#true} is VALID [2018-11-14 18:50:16,772 INFO L273 TraceCheckUtils]: 53: Hoare triple {1782#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1782#true} is VALID [2018-11-14 18:50:16,772 INFO L273 TraceCheckUtils]: 54: Hoare triple {1782#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1782#true} is VALID [2018-11-14 18:50:16,772 INFO L273 TraceCheckUtils]: 55: Hoare triple {1782#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1782#true} is VALID [2018-11-14 18:50:16,772 INFO L273 TraceCheckUtils]: 56: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,772 INFO L273 TraceCheckUtils]: 57: Hoare triple {1782#true} assume !(~i~0 < 5); {1782#true} is VALID [2018-11-14 18:50:16,773 INFO L273 TraceCheckUtils]: 58: Hoare triple {1782#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1782#true} is VALID [2018-11-14 18:50:16,773 INFO L273 TraceCheckUtils]: 59: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:16,773 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {1782#true} {1783#false} #84#return; {1783#false} is VALID [2018-11-14 18:50:16,773 INFO L273 TraceCheckUtils]: 61: Hoare triple {1783#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1783#false} is VALID [2018-11-14 18:50:16,773 INFO L273 TraceCheckUtils]: 62: Hoare triple {1783#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1783#false} is VALID [2018-11-14 18:50:16,774 INFO L273 TraceCheckUtils]: 63: Hoare triple {1783#false} assume !false; {1783#false} is VALID [2018-11-14 18:50:16,777 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 53 trivial. 0 not checked. [2018-11-14 18:50:16,777 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:16,777 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-14 18:50:16,785 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-14 18:50:16,834 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-14 18:50:16,834 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:16,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:16,877 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:17,438 INFO L256 TraceCheckUtils]: 0: Hoare triple {1782#true} call ULTIMATE.init(); {1782#true} is VALID [2018-11-14 18:50:17,439 INFO L273 TraceCheckUtils]: 1: Hoare triple {1782#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1782#true} is VALID [2018-11-14 18:50:17,439 INFO L273 TraceCheckUtils]: 2: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,439 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1782#true} {1782#true} #76#return; {1782#true} is VALID [2018-11-14 18:50:17,440 INFO L256 TraceCheckUtils]: 4: Hoare triple {1782#true} call #t~ret14 := main(); {1782#true} is VALID [2018-11-14 18:50:17,440 INFO L273 TraceCheckUtils]: 5: Hoare triple {1782#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; {1782#true} is VALID [2018-11-14 18:50:17,441 INFO L273 TraceCheckUtils]: 6: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,441 INFO L273 TraceCheckUtils]: 7: Hoare triple {1782#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1782#true} is VALID [2018-11-14 18:50:17,442 INFO L273 TraceCheckUtils]: 8: Hoare triple {1782#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1782#true} is VALID [2018-11-14 18:50:17,442 INFO L273 TraceCheckUtils]: 9: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,442 INFO L273 TraceCheckUtils]: 10: Hoare triple {1782#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1782#true} is VALID [2018-11-14 18:50:17,443 INFO L273 TraceCheckUtils]: 11: Hoare triple {1782#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1782#true} is VALID [2018-11-14 18:50:17,443 INFO L273 TraceCheckUtils]: 12: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,443 INFO L273 TraceCheckUtils]: 13: Hoare triple {1782#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {1782#true} is VALID [2018-11-14 18:50:17,443 INFO L273 TraceCheckUtils]: 14: Hoare triple {1782#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {1782#true} is VALID [2018-11-14 18:50:17,444 INFO L273 TraceCheckUtils]: 15: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,444 INFO L273 TraceCheckUtils]: 16: Hoare triple {1782#true} assume !(~i~1 < 5); {1782#true} is VALID [2018-11-14 18:50:17,444 INFO L256 TraceCheckUtils]: 17: Hoare triple {1782#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:17,444 INFO L273 TraceCheckUtils]: 18: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1782#true} is VALID [2018-11-14 18:50:17,445 INFO L273 TraceCheckUtils]: 19: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,445 INFO L273 TraceCheckUtils]: 20: Hoare triple {1782#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1782#true} is VALID [2018-11-14 18:50:17,445 INFO L273 TraceCheckUtils]: 21: Hoare triple {1782#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1782#true} is VALID [2018-11-14 18:50:17,445 INFO L273 TraceCheckUtils]: 22: Hoare triple {1782#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1782#true} is VALID [2018-11-14 18:50:17,445 INFO L273 TraceCheckUtils]: 23: Hoare triple {1782#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1782#true} is VALID [2018-11-14 18:50:17,446 INFO L273 TraceCheckUtils]: 24: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,446 INFO L273 TraceCheckUtils]: 25: Hoare triple {1782#true} assume !(~i~0 < 5); {1782#true} is VALID [2018-11-14 18:50:17,446 INFO L273 TraceCheckUtils]: 26: Hoare triple {1782#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1782#true} is VALID [2018-11-14 18:50:17,446 INFO L273 TraceCheckUtils]: 27: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,447 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1782#true} {1782#true} #80#return; {1782#true} is VALID [2018-11-14 18:50:17,447 INFO L273 TraceCheckUtils]: 29: Hoare triple {1782#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {1782#true} is VALID [2018-11-14 18:50:17,447 INFO L256 TraceCheckUtils]: 30: Hoare triple {1782#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:17,447 INFO L273 TraceCheckUtils]: 31: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1782#true} is VALID [2018-11-14 18:50:17,447 INFO L273 TraceCheckUtils]: 32: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,448 INFO L273 TraceCheckUtils]: 33: Hoare triple {1782#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1782#true} is VALID [2018-11-14 18:50:17,448 INFO L273 TraceCheckUtils]: 34: Hoare triple {1782#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1782#true} is VALID [2018-11-14 18:50:17,448 INFO L273 TraceCheckUtils]: 35: Hoare triple {1782#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1782#true} is VALID [2018-11-14 18:50:17,448 INFO L273 TraceCheckUtils]: 36: Hoare triple {1782#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1782#true} is VALID [2018-11-14 18:50:17,449 INFO L273 TraceCheckUtils]: 37: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,449 INFO L273 TraceCheckUtils]: 38: Hoare triple {1782#true} assume !(~i~0 < 5); {1782#true} is VALID [2018-11-14 18:50:17,449 INFO L273 TraceCheckUtils]: 39: Hoare triple {1782#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1782#true} is VALID [2018-11-14 18:50:17,449 INFO L273 TraceCheckUtils]: 40: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,449 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1782#true} {1782#true} #82#return; {1782#true} is VALID [2018-11-14 18:50:17,450 INFO L273 TraceCheckUtils]: 42: Hoare triple {1782#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {1782#true} is VALID [2018-11-14 18:50:17,450 INFO L273 TraceCheckUtils]: 43: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,450 INFO L273 TraceCheckUtils]: 44: Hoare triple {1782#true} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {1782#true} is VALID [2018-11-14 18:50:17,450 INFO L273 TraceCheckUtils]: 45: Hoare triple {1782#true} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {1782#true} is VALID [2018-11-14 18:50:17,451 INFO L273 TraceCheckUtils]: 46: Hoare triple {1782#true} assume true; {1782#true} is VALID [2018-11-14 18:50:17,451 INFO L273 TraceCheckUtils]: 47: Hoare triple {1782#true} assume !(~i~2 < 4); {1782#true} is VALID [2018-11-14 18:50:17,451 INFO L273 TraceCheckUtils]: 48: Hoare triple {1782#true} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {1782#true} is VALID [2018-11-14 18:50:17,451 INFO L256 TraceCheckUtils]: 49: Hoare triple {1782#true} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1782#true} is VALID [2018-11-14 18:50:17,466 INFO L273 TraceCheckUtils]: 50: Hoare triple {1782#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {1941#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:17,467 INFO L273 TraceCheckUtils]: 51: Hoare triple {1941#(<= max_~i~0 0)} assume true; {1941#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:17,468 INFO L273 TraceCheckUtils]: 52: Hoare triple {1941#(<= max_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {1941#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:17,468 INFO L273 TraceCheckUtils]: 53: Hoare triple {1941#(<= max_~i~0 0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {1941#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:17,469 INFO L273 TraceCheckUtils]: 54: Hoare triple {1941#(<= max_~i~0 0)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {1941#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:17,469 INFO L273 TraceCheckUtils]: 55: Hoare triple {1941#(<= max_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {1957#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:17,470 INFO L273 TraceCheckUtils]: 56: Hoare triple {1957#(<= max_~i~0 1)} assume true; {1957#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:17,471 INFO L273 TraceCheckUtils]: 57: Hoare triple {1957#(<= max_~i~0 1)} assume !(~i~0 < 5); {1783#false} is VALID [2018-11-14 18:50:17,471 INFO L273 TraceCheckUtils]: 58: Hoare triple {1783#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {1783#false} is VALID [2018-11-14 18:50:17,471 INFO L273 TraceCheckUtils]: 59: Hoare triple {1783#false} assume true; {1783#false} is VALID [2018-11-14 18:50:17,471 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {1783#false} {1782#true} #84#return; {1783#false} is VALID [2018-11-14 18:50:17,472 INFO L273 TraceCheckUtils]: 61: Hoare triple {1783#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {1783#false} is VALID [2018-11-14 18:50:17,472 INFO L273 TraceCheckUtils]: 62: Hoare triple {1783#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1783#false} is VALID [2018-11-14 18:50:17,473 INFO L273 TraceCheckUtils]: 63: Hoare triple {1783#false} assume !false; {1783#false} is VALID [2018-11-14 18:50:17,478 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2018-11-14 18:50:17,497 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:17,498 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4] total 8 [2018-11-14 18:50:17,498 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 64 [2018-11-14 18:50:17,499 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:17,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:50:17,656 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:17,656 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:50:17,657 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:50:17,657 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:50:17,657 INFO L87 Difference]: Start difference. First operand 43 states and 48 transitions. Second operand 8 states. [2018-11-14 18:50:18,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:18,090 INFO L93 Difference]: Finished difference Result 81 states and 97 transitions. [2018-11-14 18:50:18,090 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:50:18,090 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 64 [2018-11-14 18:50:18,091 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:18,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:50:18,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 91 transitions. [2018-11-14 18:50:18,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:50:18,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 91 transitions. [2018-11-14 18:50:18,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 91 transitions. [2018-11-14 18:50:18,217 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:18,220 INFO L225 Difference]: With dead ends: 81 [2018-11-14 18:50:18,220 INFO L226 Difference]: Without dead ends: 55 [2018-11-14 18:50:18,221 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:50:18,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-14 18:50:18,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2018-11-14 18:50:18,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:18,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 51 states. [2018-11-14 18:50:18,250 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 51 states. [2018-11-14 18:50:18,250 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 51 states. [2018-11-14 18:50:18,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:18,253 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-14 18:50:18,253 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-14 18:50:18,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:18,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:18,254 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 55 states. [2018-11-14 18:50:18,254 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 55 states. [2018-11-14 18:50:18,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:18,256 INFO L93 Difference]: Finished difference Result 55 states and 62 transitions. [2018-11-14 18:50:18,257 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 62 transitions. [2018-11-14 18:50:18,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:18,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:18,257 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:18,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:18,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-14 18:50:18,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 57 transitions. [2018-11-14 18:50:18,260 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 57 transitions. Word has length 64 [2018-11-14 18:50:18,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:18,261 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 57 transitions. [2018-11-14 18:50:18,261 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:50:18,261 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2018-11-14 18:50:18,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2018-11-14 18:50:18,262 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:18,279 INFO L375 BasicCegarLoop]: trace histogram [9, 6, 6, 6, 6, 5, 4, 4, 3, 3, 3, 3, 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-14 18:50:18,279 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:18,279 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:18,280 INFO L82 PathProgramCache]: Analyzing trace with hash 1148059552, now seen corresponding path program 4 times [2018-11-14 18:50:18,280 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:18,280 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:18,281 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:18,281 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:18,282 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:18,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:18,507 INFO L256 TraceCheckUtils]: 0: Hoare triple {2267#true} call ULTIMATE.init(); {2267#true} is VALID [2018-11-14 18:50:18,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {2267#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2267#true} is VALID [2018-11-14 18:50:18,507 INFO L273 TraceCheckUtils]: 2: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,507 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2267#true} {2267#true} #76#return; {2267#true} is VALID [2018-11-14 18:50:18,507 INFO L256 TraceCheckUtils]: 4: Hoare triple {2267#true} call #t~ret14 := main(); {2267#true} is VALID [2018-11-14 18:50:18,524 INFO L273 TraceCheckUtils]: 5: Hoare triple {2267#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; {2269#(= main_~i~1 0)} is VALID [2018-11-14 18:50:18,527 INFO L273 TraceCheckUtils]: 6: Hoare triple {2269#(= main_~i~1 0)} assume true; {2269#(= main_~i~1 0)} is VALID [2018-11-14 18:50:18,527 INFO L273 TraceCheckUtils]: 7: Hoare triple {2269#(= main_~i~1 0)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2269#(= main_~i~1 0)} is VALID [2018-11-14 18:50:18,528 INFO L273 TraceCheckUtils]: 8: Hoare triple {2269#(= main_~i~1 0)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2270#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:18,528 INFO L273 TraceCheckUtils]: 9: Hoare triple {2270#(<= main_~i~1 1)} assume true; {2270#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:18,528 INFO L273 TraceCheckUtils]: 10: Hoare triple {2270#(<= main_~i~1 1)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2270#(<= main_~i~1 1)} is VALID [2018-11-14 18:50:18,529 INFO L273 TraceCheckUtils]: 11: Hoare triple {2270#(<= main_~i~1 1)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2271#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:18,529 INFO L273 TraceCheckUtils]: 12: Hoare triple {2271#(<= main_~i~1 2)} assume true; {2271#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:18,530 INFO L273 TraceCheckUtils]: 13: Hoare triple {2271#(<= main_~i~1 2)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2271#(<= main_~i~1 2)} is VALID [2018-11-14 18:50:18,530 INFO L273 TraceCheckUtils]: 14: Hoare triple {2271#(<= main_~i~1 2)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2272#(<= main_~i~1 3)} is VALID [2018-11-14 18:50:18,530 INFO L273 TraceCheckUtils]: 15: Hoare triple {2272#(<= main_~i~1 3)} assume true; {2272#(<= main_~i~1 3)} is VALID [2018-11-14 18:50:18,531 INFO L273 TraceCheckUtils]: 16: Hoare triple {2272#(<= main_~i~1 3)} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2272#(<= main_~i~1 3)} is VALID [2018-11-14 18:50:18,531 INFO L273 TraceCheckUtils]: 17: Hoare triple {2272#(<= main_~i~1 3)} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2273#(<= main_~i~1 4)} is VALID [2018-11-14 18:50:18,532 INFO L273 TraceCheckUtils]: 18: Hoare triple {2273#(<= main_~i~1 4)} assume true; {2273#(<= main_~i~1 4)} is VALID [2018-11-14 18:50:18,533 INFO L273 TraceCheckUtils]: 19: Hoare triple {2273#(<= main_~i~1 4)} assume !(~i~1 < 5); {2268#false} is VALID [2018-11-14 18:50:18,533 INFO L256 TraceCheckUtils]: 20: Hoare triple {2268#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {2267#true} is VALID [2018-11-14 18:50:18,533 INFO L273 TraceCheckUtils]: 21: Hoare triple {2267#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2267#true} is VALID [2018-11-14 18:50:18,533 INFO L273 TraceCheckUtils]: 22: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,534 INFO L273 TraceCheckUtils]: 23: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,534 INFO L273 TraceCheckUtils]: 24: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,534 INFO L273 TraceCheckUtils]: 25: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,534 INFO L273 TraceCheckUtils]: 26: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,535 INFO L273 TraceCheckUtils]: 27: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,535 INFO L273 TraceCheckUtils]: 28: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,535 INFO L273 TraceCheckUtils]: 29: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,535 INFO L273 TraceCheckUtils]: 30: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,535 INFO L273 TraceCheckUtils]: 31: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,536 INFO L273 TraceCheckUtils]: 32: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,536 INFO L273 TraceCheckUtils]: 33: Hoare triple {2267#true} assume !(~i~0 < 5); {2267#true} is VALID [2018-11-14 18:50:18,536 INFO L273 TraceCheckUtils]: 34: Hoare triple {2267#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2267#true} is VALID [2018-11-14 18:50:18,536 INFO L273 TraceCheckUtils]: 35: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,536 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2267#true} {2268#false} #80#return; {2268#false} is VALID [2018-11-14 18:50:18,537 INFO L273 TraceCheckUtils]: 37: Hoare triple {2268#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,537 INFO L256 TraceCheckUtils]: 38: Hoare triple {2268#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {2267#true} is VALID [2018-11-14 18:50:18,537 INFO L273 TraceCheckUtils]: 39: Hoare triple {2267#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2267#true} is VALID [2018-11-14 18:50:18,537 INFO L273 TraceCheckUtils]: 40: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 41: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 42: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 43: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 44: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 45: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 46: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,538 INFO L273 TraceCheckUtils]: 47: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 48: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 49: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 50: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 51: Hoare triple {2267#true} assume !(~i~0 < 5); {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 52: Hoare triple {2267#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 53: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,539 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {2267#true} {2268#false} #82#return; {2268#false} is VALID [2018-11-14 18:50:18,539 INFO L273 TraceCheckUtils]: 55: Hoare triple {2268#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 56: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 57: Hoare triple {2268#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 58: Hoare triple {2268#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 59: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 60: Hoare triple {2268#false} assume !(~i~2 < 4); {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 61: Hoare triple {2268#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2268#false} is VALID [2018-11-14 18:50:18,540 INFO L256 TraceCheckUtils]: 62: Hoare triple {2268#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {2267#true} is VALID [2018-11-14 18:50:18,540 INFO L273 TraceCheckUtils]: 63: Hoare triple {2267#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 64: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 65: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 66: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 67: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 68: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 69: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 70: Hoare triple {2267#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2267#true} is VALID [2018-11-14 18:50:18,541 INFO L273 TraceCheckUtils]: 71: Hoare triple {2267#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 72: Hoare triple {2267#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 73: Hoare triple {2267#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 74: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 75: Hoare triple {2267#true} assume !(~i~0 < 5); {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 76: Hoare triple {2267#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 77: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,542 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {2267#true} {2268#false} #84#return; {2268#false} is VALID [2018-11-14 18:50:18,542 INFO L273 TraceCheckUtils]: 79: Hoare triple {2268#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2268#false} is VALID [2018-11-14 18:50:18,543 INFO L273 TraceCheckUtils]: 80: Hoare triple {2268#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2268#false} is VALID [2018-11-14 18:50:18,543 INFO L273 TraceCheckUtils]: 81: Hoare triple {2268#false} assume !false; {2268#false} is VALID [2018-11-14 18:50:18,546 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 131 trivial. 0 not checked. [2018-11-14 18:50:18,546 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:18,546 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-14 18:50:18,555 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:50:18,584 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:50:18,584 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:18,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:18,610 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:18,952 INFO L256 TraceCheckUtils]: 0: Hoare triple {2267#true} call ULTIMATE.init(); {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {2267#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2267#true} {2267#true} #76#return; {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L256 TraceCheckUtils]: 4: Hoare triple {2267#true} call #t~ret14 := main(); {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L273 TraceCheckUtils]: 5: Hoare triple {2267#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; {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L273 TraceCheckUtils]: 6: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,953 INFO L273 TraceCheckUtils]: 7: Hoare triple {2267#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 8: Hoare triple {2267#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 9: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 10: Hoare triple {2267#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 11: Hoare triple {2267#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 12: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,954 INFO L273 TraceCheckUtils]: 13: Hoare triple {2267#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2267#true} is VALID [2018-11-14 18:50:18,955 INFO L273 TraceCheckUtils]: 14: Hoare triple {2267#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2267#true} is VALID [2018-11-14 18:50:18,955 INFO L273 TraceCheckUtils]: 15: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,955 INFO L273 TraceCheckUtils]: 16: Hoare triple {2267#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2267#true} is VALID [2018-11-14 18:50:18,955 INFO L273 TraceCheckUtils]: 17: Hoare triple {2267#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2267#true} is VALID [2018-11-14 18:50:18,955 INFO L273 TraceCheckUtils]: 18: Hoare triple {2267#true} assume true; {2267#true} is VALID [2018-11-14 18:50:18,956 INFO L273 TraceCheckUtils]: 19: Hoare triple {2267#true} assume !(~i~1 < 5); {2267#true} is VALID [2018-11-14 18:50:18,956 INFO L256 TraceCheckUtils]: 20: Hoare triple {2267#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {2267#true} is VALID [2018-11-14 18:50:18,973 INFO L273 TraceCheckUtils]: 21: Hoare triple {2267#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2340#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:18,977 INFO L273 TraceCheckUtils]: 22: Hoare triple {2340#(<= max_~i~0 0)} assume true; {2340#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:18,977 INFO L273 TraceCheckUtils]: 23: Hoare triple {2340#(<= max_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2340#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:18,978 INFO L273 TraceCheckUtils]: 24: Hoare triple {2340#(<= max_~i~0 0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2340#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:18,978 INFO L273 TraceCheckUtils]: 25: Hoare triple {2340#(<= max_~i~0 0)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2340#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:18,979 INFO L273 TraceCheckUtils]: 26: Hoare triple {2340#(<= max_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2356#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:18,979 INFO L273 TraceCheckUtils]: 27: Hoare triple {2356#(<= max_~i~0 1)} assume true; {2356#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:18,979 INFO L273 TraceCheckUtils]: 28: Hoare triple {2356#(<= max_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2356#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:18,980 INFO L273 TraceCheckUtils]: 29: Hoare triple {2356#(<= max_~i~0 1)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2356#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:18,980 INFO L273 TraceCheckUtils]: 30: Hoare triple {2356#(<= max_~i~0 1)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2356#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:18,982 INFO L273 TraceCheckUtils]: 31: Hoare triple {2356#(<= max_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2372#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:18,983 INFO L273 TraceCheckUtils]: 32: Hoare triple {2372#(<= max_~i~0 2)} assume true; {2372#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:18,983 INFO L273 TraceCheckUtils]: 33: Hoare triple {2372#(<= max_~i~0 2)} assume !(~i~0 < 5); {2268#false} is VALID [2018-11-14 18:50:18,983 INFO L273 TraceCheckUtils]: 34: Hoare triple {2268#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L273 TraceCheckUtils]: 35: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {2268#false} {2267#true} #80#return; {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L273 TraceCheckUtils]: 37: Hoare triple {2268#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L256 TraceCheckUtils]: 38: Hoare triple {2268#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L273 TraceCheckUtils]: 39: Hoare triple {2268#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L273 TraceCheckUtils]: 40: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,984 INFO L273 TraceCheckUtils]: 41: Hoare triple {2268#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 42: Hoare triple {2268#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 43: Hoare triple {2268#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 44: Hoare triple {2268#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 45: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 46: Hoare triple {2268#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 47: Hoare triple {2268#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 48: Hoare triple {2268#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2268#false} is VALID [2018-11-14 18:50:18,985 INFO L273 TraceCheckUtils]: 49: Hoare triple {2268#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 50: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 51: Hoare triple {2268#false} assume !(~i~0 < 5); {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 52: Hoare triple {2268#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 53: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {2268#false} {2268#false} #82#return; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 55: Hoare triple {2268#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 56: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,986 INFO L273 TraceCheckUtils]: 57: Hoare triple {2268#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 58: Hoare triple {2268#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 59: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 60: Hoare triple {2268#false} assume !(~i~2 < 4); {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 61: Hoare triple {2268#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L256 TraceCheckUtils]: 62: Hoare triple {2268#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 63: Hoare triple {2268#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 64: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,987 INFO L273 TraceCheckUtils]: 65: Hoare triple {2268#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 66: Hoare triple {2268#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 67: Hoare triple {2268#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 68: Hoare triple {2268#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 69: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 70: Hoare triple {2268#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2268#false} is VALID [2018-11-14 18:50:18,988 INFO L273 TraceCheckUtils]: 71: Hoare triple {2268#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 72: Hoare triple {2268#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 73: Hoare triple {2268#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 74: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 75: Hoare triple {2268#false} assume !(~i~0 < 5); {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 76: Hoare triple {2268#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2268#false} is VALID [2018-11-14 18:50:18,989 INFO L273 TraceCheckUtils]: 77: Hoare triple {2268#false} assume true; {2268#false} is VALID [2018-11-14 18:50:18,990 INFO L268 TraceCheckUtils]: 78: Hoare quadruple {2268#false} {2268#false} #84#return; {2268#false} is VALID [2018-11-14 18:50:18,990 INFO L273 TraceCheckUtils]: 79: Hoare triple {2268#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2268#false} is VALID [2018-11-14 18:50:18,990 INFO L273 TraceCheckUtils]: 80: Hoare triple {2268#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2268#false} is VALID [2018-11-14 18:50:18,990 INFO L273 TraceCheckUtils]: 81: Hoare triple {2268#false} assume !false; {2268#false} is VALID [2018-11-14 18:50:18,994 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 62 proven. 9 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2018-11-14 18:50:19,020 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:19,021 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2018-11-14 18:50:19,021 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 82 [2018-11-14 18:50:19,022 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:19,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-14 18:50:19,152 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:19,153 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-14 18:50:19,153 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-14 18:50:19,153 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2018-11-14 18:50:19,153 INFO L87 Difference]: Start difference. First operand 51 states and 57 transitions. Second operand 10 states. [2018-11-14 18:50:19,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:19,703 INFO L93 Difference]: Finished difference Result 93 states and 111 transitions. [2018-11-14 18:50:19,703 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-14 18:50:19,703 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 82 [2018-11-14 18:50:19,703 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:19,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:50:19,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 99 transitions. [2018-11-14 18:50:19,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-14 18:50:19,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 99 transitions. [2018-11-14 18:50:19,708 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 99 transitions. [2018-11-14 18:50:19,855 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:19,857 INFO L225 Difference]: With dead ends: 93 [2018-11-14 18:50:19,858 INFO L226 Difference]: Without dead ends: 62 [2018-11-14 18:50:19,859 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 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-14 18:50:19,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2018-11-14 18:50:19,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 59. [2018-11-14 18:50:19,875 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:19,875 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand 59 states. [2018-11-14 18:50:19,875 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 59 states. [2018-11-14 18:50:19,876 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 59 states. [2018-11-14 18:50:19,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:19,878 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-14 18:50:19,878 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-14 18:50:19,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:19,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:19,879 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 62 states. [2018-11-14 18:50:19,879 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 62 states. [2018-11-14 18:50:19,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:19,882 INFO L93 Difference]: Finished difference Result 62 states and 70 transitions. [2018-11-14 18:50:19,882 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 70 transitions. [2018-11-14 18:50:19,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:19,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:19,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:19,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:19,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-11-14 18:50:19,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 66 transitions. [2018-11-14 18:50:19,885 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 66 transitions. Word has length 82 [2018-11-14 18:50:19,885 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:19,886 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 66 transitions. [2018-11-14 18:50:19,886 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-14 18:50:19,886 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 66 transitions. [2018-11-14 18:50:19,887 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2018-11-14 18:50:19,887 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:19,887 INFO L375 BasicCegarLoop]: trace histogram [12, 9, 9, 9, 9, 6, 5, 5, 3, 3, 3, 3, 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-14 18:50:19,888 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:19,888 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:19,888 INFO L82 PathProgramCache]: Analyzing trace with hash -441315374, now seen corresponding path program 5 times [2018-11-14 18:50:19,888 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:19,888 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:19,889 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:19,889 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:19,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:19,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:20,141 INFO L256 TraceCheckUtils]: 0: Hoare triple {2847#true} call ULTIMATE.init(); {2847#true} is VALID [2018-11-14 18:50:20,142 INFO L273 TraceCheckUtils]: 1: Hoare triple {2847#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2847#true} is VALID [2018-11-14 18:50:20,142 INFO L273 TraceCheckUtils]: 2: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,142 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2847#true} {2847#true} #76#return; {2847#true} is VALID [2018-11-14 18:50:20,142 INFO L256 TraceCheckUtils]: 4: Hoare triple {2847#true} call #t~ret14 := main(); {2847#true} is VALID [2018-11-14 18:50:20,143 INFO L273 TraceCheckUtils]: 5: Hoare triple {2847#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; {2847#true} is VALID [2018-11-14 18:50:20,143 INFO L273 TraceCheckUtils]: 6: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,143 INFO L273 TraceCheckUtils]: 7: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,143 INFO L273 TraceCheckUtils]: 8: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,143 INFO L273 TraceCheckUtils]: 9: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 10: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 11: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 12: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 13: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 14: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 15: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,144 INFO L273 TraceCheckUtils]: 16: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 17: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 18: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 19: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 20: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 21: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L273 TraceCheckUtils]: 22: Hoare triple {2847#true} assume !(~i~1 < 5); {2847#true} is VALID [2018-11-14 18:50:20,145 INFO L256 TraceCheckUtils]: 23: Hoare triple {2847#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {2847#true} is VALID [2018-11-14 18:50:20,146 INFO L273 TraceCheckUtils]: 24: Hoare triple {2847#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2849#(= max_~i~0 0)} is VALID [2018-11-14 18:50:20,146 INFO L273 TraceCheckUtils]: 25: Hoare triple {2849#(= max_~i~0 0)} assume true; {2849#(= max_~i~0 0)} is VALID [2018-11-14 18:50:20,146 INFO L273 TraceCheckUtils]: 26: Hoare triple {2849#(= max_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2849#(= max_~i~0 0)} is VALID [2018-11-14 18:50:20,147 INFO L273 TraceCheckUtils]: 27: Hoare triple {2849#(= max_~i~0 0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2849#(= max_~i~0 0)} is VALID [2018-11-14 18:50:20,147 INFO L273 TraceCheckUtils]: 28: Hoare triple {2849#(= max_~i~0 0)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2849#(= max_~i~0 0)} is VALID [2018-11-14 18:50:20,147 INFO L273 TraceCheckUtils]: 29: Hoare triple {2849#(= max_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,148 INFO L273 TraceCheckUtils]: 30: Hoare triple {2850#(<= max_~i~0 1)} assume true; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,148 INFO L273 TraceCheckUtils]: 31: Hoare triple {2850#(<= max_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,148 INFO L273 TraceCheckUtils]: 32: Hoare triple {2850#(<= max_~i~0 1)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,149 INFO L273 TraceCheckUtils]: 33: Hoare triple {2850#(<= max_~i~0 1)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,149 INFO L273 TraceCheckUtils]: 34: Hoare triple {2850#(<= max_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,150 INFO L273 TraceCheckUtils]: 35: Hoare triple {2851#(<= max_~i~0 2)} assume true; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,150 INFO L273 TraceCheckUtils]: 36: Hoare triple {2851#(<= max_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,151 INFO L273 TraceCheckUtils]: 37: Hoare triple {2851#(<= max_~i~0 2)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,152 INFO L273 TraceCheckUtils]: 38: Hoare triple {2851#(<= max_~i~0 2)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,152 INFO L273 TraceCheckUtils]: 39: Hoare triple {2851#(<= max_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2852#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:20,153 INFO L273 TraceCheckUtils]: 40: Hoare triple {2852#(<= max_~i~0 3)} assume true; {2852#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:20,154 INFO L273 TraceCheckUtils]: 41: Hoare triple {2852#(<= max_~i~0 3)} assume !(~i~0 < 5); {2848#false} is VALID [2018-11-14 18:50:20,154 INFO L273 TraceCheckUtils]: 42: Hoare triple {2848#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2848#false} is VALID [2018-11-14 18:50:20,154 INFO L273 TraceCheckUtils]: 43: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,154 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {2848#false} {2847#true} #80#return; {2848#false} is VALID [2018-11-14 18:50:20,155 INFO L273 TraceCheckUtils]: 45: Hoare triple {2848#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,155 INFO L256 TraceCheckUtils]: 46: Hoare triple {2848#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {2847#true} is VALID [2018-11-14 18:50:20,155 INFO L273 TraceCheckUtils]: 47: Hoare triple {2847#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2847#true} is VALID [2018-11-14 18:50:20,156 INFO L273 TraceCheckUtils]: 48: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,156 INFO L273 TraceCheckUtils]: 49: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,156 INFO L273 TraceCheckUtils]: 50: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,157 INFO L273 TraceCheckUtils]: 51: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,157 INFO L273 TraceCheckUtils]: 52: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,157 INFO L273 TraceCheckUtils]: 53: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,157 INFO L273 TraceCheckUtils]: 54: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,157 INFO L273 TraceCheckUtils]: 55: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 56: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 57: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 58: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 59: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 60: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,158 INFO L273 TraceCheckUtils]: 61: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,159 INFO L273 TraceCheckUtils]: 62: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,159 INFO L273 TraceCheckUtils]: 63: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,159 INFO L273 TraceCheckUtils]: 64: Hoare triple {2847#true} assume !(~i~0 < 5); {2847#true} is VALID [2018-11-14 18:50:20,159 INFO L273 TraceCheckUtils]: 65: Hoare triple {2847#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2847#true} is VALID [2018-11-14 18:50:20,159 INFO L273 TraceCheckUtils]: 66: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,160 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {2847#true} {2848#false} #82#return; {2848#false} is VALID [2018-11-14 18:50:20,160 INFO L273 TraceCheckUtils]: 68: Hoare triple {2848#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2848#false} is VALID [2018-11-14 18:50:20,160 INFO L273 TraceCheckUtils]: 69: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,160 INFO L273 TraceCheckUtils]: 70: Hoare triple {2848#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2848#false} is VALID [2018-11-14 18:50:20,160 INFO L273 TraceCheckUtils]: 71: Hoare triple {2848#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2848#false} is VALID [2018-11-14 18:50:20,160 INFO L273 TraceCheckUtils]: 72: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,161 INFO L273 TraceCheckUtils]: 73: Hoare triple {2848#false} assume !(~i~2 < 4); {2848#false} is VALID [2018-11-14 18:50:20,161 INFO L273 TraceCheckUtils]: 74: Hoare triple {2848#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2848#false} is VALID [2018-11-14 18:50:20,161 INFO L256 TraceCheckUtils]: 75: Hoare triple {2848#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {2847#true} is VALID [2018-11-14 18:50:20,161 INFO L273 TraceCheckUtils]: 76: Hoare triple {2847#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2847#true} is VALID [2018-11-14 18:50:20,161 INFO L273 TraceCheckUtils]: 77: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,162 INFO L273 TraceCheckUtils]: 78: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,162 INFO L273 TraceCheckUtils]: 79: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,162 INFO L273 TraceCheckUtils]: 80: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,162 INFO L273 TraceCheckUtils]: 81: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,162 INFO L273 TraceCheckUtils]: 82: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 83: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 84: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 85: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 86: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 87: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,163 INFO L273 TraceCheckUtils]: 88: Hoare triple {2847#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 89: Hoare triple {2847#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 90: Hoare triple {2847#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 91: Hoare triple {2847#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 92: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 93: Hoare triple {2847#true} assume !(~i~0 < 5); {2847#true} is VALID [2018-11-14 18:50:20,164 INFO L273 TraceCheckUtils]: 94: Hoare triple {2847#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2847#true} is VALID [2018-11-14 18:50:20,165 INFO L273 TraceCheckUtils]: 95: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,165 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {2847#true} {2848#false} #84#return; {2848#false} is VALID [2018-11-14 18:50:20,165 INFO L273 TraceCheckUtils]: 97: Hoare triple {2848#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2848#false} is VALID [2018-11-14 18:50:20,165 INFO L273 TraceCheckUtils]: 98: Hoare triple {2848#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2848#false} is VALID [2018-11-14 18:50:20,165 INFO L273 TraceCheckUtils]: 99: Hoare triple {2848#false} assume !false; {2848#false} is VALID [2018-11-14 18:50:20,171 INFO L134 CoverageAnalysis]: Checked inductivity of 294 backedges. 0 proven. 145 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2018-11-14 18:50:20,171 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:20,172 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-14 18:50:20,188 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-14 18:50:20,283 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2018-11-14 18:50:20,284 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:20,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:20,322 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:20,634 INFO L256 TraceCheckUtils]: 0: Hoare triple {2847#true} call ULTIMATE.init(); {2847#true} is VALID [2018-11-14 18:50:20,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {2847#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2847#true} is VALID [2018-11-14 18:50:20,635 INFO L273 TraceCheckUtils]: 2: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,635 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2847#true} {2847#true} #76#return; {2847#true} is VALID [2018-11-14 18:50:20,635 INFO L256 TraceCheckUtils]: 4: Hoare triple {2847#true} call #t~ret14 := main(); {2847#true} is VALID [2018-11-14 18:50:20,635 INFO L273 TraceCheckUtils]: 5: Hoare triple {2847#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; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 6: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 7: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 8: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 9: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 10: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 11: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 12: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,636 INFO L273 TraceCheckUtils]: 13: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 14: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 15: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 16: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 17: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 18: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 19: Hoare triple {2847#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 20: Hoare triple {2847#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {2847#true} is VALID [2018-11-14 18:50:20,637 INFO L273 TraceCheckUtils]: 21: Hoare triple {2847#true} assume true; {2847#true} is VALID [2018-11-14 18:50:20,638 INFO L273 TraceCheckUtils]: 22: Hoare triple {2847#true} assume !(~i~1 < 5); {2847#true} is VALID [2018-11-14 18:50:20,638 INFO L256 TraceCheckUtils]: 23: Hoare triple {2847#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {2847#true} is VALID [2018-11-14 18:50:20,638 INFO L273 TraceCheckUtils]: 24: Hoare triple {2847#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2928#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:20,638 INFO L273 TraceCheckUtils]: 25: Hoare triple {2928#(<= max_~i~0 0)} assume true; {2928#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:20,639 INFO L273 TraceCheckUtils]: 26: Hoare triple {2928#(<= max_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2928#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:20,639 INFO L273 TraceCheckUtils]: 27: Hoare triple {2928#(<= max_~i~0 0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2928#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:20,639 INFO L273 TraceCheckUtils]: 28: Hoare triple {2928#(<= max_~i~0 0)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2928#(<= max_~i~0 0)} is VALID [2018-11-14 18:50:20,640 INFO L273 TraceCheckUtils]: 29: Hoare triple {2928#(<= max_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,640 INFO L273 TraceCheckUtils]: 30: Hoare triple {2850#(<= max_~i~0 1)} assume true; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,641 INFO L273 TraceCheckUtils]: 31: Hoare triple {2850#(<= max_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,641 INFO L273 TraceCheckUtils]: 32: Hoare triple {2850#(<= max_~i~0 1)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,641 INFO L273 TraceCheckUtils]: 33: Hoare triple {2850#(<= max_~i~0 1)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2850#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:20,642 INFO L273 TraceCheckUtils]: 34: Hoare triple {2850#(<= max_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,642 INFO L273 TraceCheckUtils]: 35: Hoare triple {2851#(<= max_~i~0 2)} assume true; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,643 INFO L273 TraceCheckUtils]: 36: Hoare triple {2851#(<= max_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,643 INFO L273 TraceCheckUtils]: 37: Hoare triple {2851#(<= max_~i~0 2)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,644 INFO L273 TraceCheckUtils]: 38: Hoare triple {2851#(<= max_~i~0 2)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2851#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:20,645 INFO L273 TraceCheckUtils]: 39: Hoare triple {2851#(<= max_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2852#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:20,645 INFO L273 TraceCheckUtils]: 40: Hoare triple {2852#(<= max_~i~0 3)} assume true; {2852#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:20,646 INFO L273 TraceCheckUtils]: 41: Hoare triple {2852#(<= max_~i~0 3)} assume !(~i~0 < 5); {2848#false} is VALID [2018-11-14 18:50:20,646 INFO L273 TraceCheckUtils]: 42: Hoare triple {2848#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2848#false} is VALID [2018-11-14 18:50:20,646 INFO L273 TraceCheckUtils]: 43: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,646 INFO L268 TraceCheckUtils]: 44: Hoare quadruple {2848#false} {2847#true} #80#return; {2848#false} is VALID [2018-11-14 18:50:20,647 INFO L273 TraceCheckUtils]: 45: Hoare triple {2848#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,647 INFO L256 TraceCheckUtils]: 46: Hoare triple {2848#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {2848#false} is VALID [2018-11-14 18:50:20,647 INFO L273 TraceCheckUtils]: 47: Hoare triple {2848#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2848#false} is VALID [2018-11-14 18:50:20,647 INFO L273 TraceCheckUtils]: 48: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,648 INFO L273 TraceCheckUtils]: 49: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,648 INFO L273 TraceCheckUtils]: 50: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,648 INFO L273 TraceCheckUtils]: 51: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,648 INFO L273 TraceCheckUtils]: 52: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,648 INFO L273 TraceCheckUtils]: 53: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 54: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 55: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 56: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 57: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 58: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 59: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 60: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,649 INFO L273 TraceCheckUtils]: 61: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 62: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 63: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 64: Hoare triple {2848#false} assume !(~i~0 < 5); {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 65: Hoare triple {2848#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 66: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {2848#false} {2848#false} #82#return; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 68: Hoare triple {2848#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {2848#false} is VALID [2018-11-14 18:50:20,650 INFO L273 TraceCheckUtils]: 69: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 70: Hoare triple {2848#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 71: Hoare triple {2848#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 72: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 73: Hoare triple {2848#false} assume !(~i~2 < 4); {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 74: Hoare triple {2848#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L256 TraceCheckUtils]: 75: Hoare triple {2848#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 76: Hoare triple {2848#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 77: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,651 INFO L273 TraceCheckUtils]: 78: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 79: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 80: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 81: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 82: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 83: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 84: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,652 INFO L273 TraceCheckUtils]: 85: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 86: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 87: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 88: Hoare triple {2848#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 89: Hoare triple {2848#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 90: Hoare triple {2848#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {2848#false} is VALID [2018-11-14 18:50:20,653 INFO L273 TraceCheckUtils]: 91: Hoare triple {2848#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {2848#false} is VALID [2018-11-14 18:50:20,654 INFO L273 TraceCheckUtils]: 92: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,654 INFO L273 TraceCheckUtils]: 93: Hoare triple {2848#false} assume !(~i~0 < 5); {2848#false} is VALID [2018-11-14 18:50:20,654 INFO L273 TraceCheckUtils]: 94: Hoare triple {2848#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {2848#false} is VALID [2018-11-14 18:50:20,654 INFO L273 TraceCheckUtils]: 95: Hoare triple {2848#false} assume true; {2848#false} is VALID [2018-11-14 18:50:20,654 INFO L268 TraceCheckUtils]: 96: Hoare quadruple {2848#false} {2848#false} #84#return; {2848#false} is VALID [2018-11-14 18:50:20,655 INFO L273 TraceCheckUtils]: 97: Hoare triple {2848#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {2848#false} is VALID [2018-11-14 18:50:20,655 INFO L273 TraceCheckUtils]: 98: Hoare triple {2848#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2848#false} is VALID [2018-11-14 18:50:20,655 INFO L273 TraceCheckUtils]: 99: Hoare triple {2848#false} assume !false; {2848#false} is VALID [2018-11-14 18:50:20,661 INFO L134 CoverageAnalysis]: Checked inductivity of 294 backedges. 120 proven. 21 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2018-11-14 18:50:20,690 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:20,691 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-14 18:50:20,691 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 100 [2018-11-14 18:50:20,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:20,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:50:20,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:20,774 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:50:20,774 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:50:20,774 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:50:20,775 INFO L87 Difference]: Start difference. First operand 59 states and 66 transitions. Second operand 7 states. [2018-11-14 18:50:20,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:20,981 INFO L93 Difference]: Finished difference Result 102 states and 120 transitions. [2018-11-14 18:50:20,981 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:50:20,981 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 100 [2018-11-14 18:50:20,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:20,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:50:20,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-14 18:50:20,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:50:20,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-14 18:50:20,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 88 transitions. [2018-11-14 18:50:21,081 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:21,082 INFO L225 Difference]: With dead ends: 102 [2018-11-14 18:50:21,082 INFO L226 Difference]: Without dead ends: 67 [2018-11-14 18:50:21,083 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 100 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-14 18:50:21,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-11-14 18:50:21,104 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2018-11-14 18:50:21,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:21,105 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 64 states. [2018-11-14 18:50:21,105 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 64 states. [2018-11-14 18:50:21,105 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 64 states. [2018-11-14 18:50:21,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:21,108 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-14 18:50:21,108 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2018-11-14 18:50:21,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:21,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:21,109 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 67 states. [2018-11-14 18:50:21,109 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 67 states. [2018-11-14 18:50:21,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:21,111 INFO L93 Difference]: Finished difference Result 67 states and 76 transitions. [2018-11-14 18:50:21,111 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2018-11-14 18:50:21,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:21,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:21,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:21,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:21,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2018-11-14 18:50:21,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 72 transitions. [2018-11-14 18:50:21,114 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 72 transitions. Word has length 100 [2018-11-14 18:50:21,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:21,115 INFO L480 AbstractCegarLoop]: Abstraction has 64 states and 72 transitions. [2018-11-14 18:50:21,115 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:50:21,115 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 72 transitions. [2018-11-14 18:50:21,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 116 [2018-11-14 18:50:21,116 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:21,116 INFO L375 BasicCegarLoop]: trace histogram [15, 12, 12, 12, 12, 6, 5, 5, 3, 3, 3, 3, 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-14 18:50:21,116 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:21,117 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:21,117 INFO L82 PathProgramCache]: Analyzing trace with hash -1443751647, now seen corresponding path program 6 times [2018-11-14 18:50:21,117 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:21,117 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:21,118 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:21,118 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:21,118 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:21,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:21,291 INFO L256 TraceCheckUtils]: 0: Hoare triple {3504#true} call ULTIMATE.init(); {3504#true} is VALID [2018-11-14 18:50:21,291 INFO L273 TraceCheckUtils]: 1: Hoare triple {3504#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3504#true} is VALID [2018-11-14 18:50:21,291 INFO L273 TraceCheckUtils]: 2: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,292 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3504#true} {3504#true} #76#return; {3504#true} is VALID [2018-11-14 18:50:21,292 INFO L256 TraceCheckUtils]: 4: Hoare triple {3504#true} call #t~ret14 := main(); {3504#true} is VALID [2018-11-14 18:50:21,292 INFO L273 TraceCheckUtils]: 5: Hoare triple {3504#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; {3504#true} is VALID [2018-11-14 18:50:21,292 INFO L273 TraceCheckUtils]: 6: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,293 INFO L273 TraceCheckUtils]: 7: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,293 INFO L273 TraceCheckUtils]: 8: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,293 INFO L273 TraceCheckUtils]: 9: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,293 INFO L273 TraceCheckUtils]: 10: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,293 INFO L273 TraceCheckUtils]: 11: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,294 INFO L273 TraceCheckUtils]: 12: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,294 INFO L273 TraceCheckUtils]: 13: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,294 INFO L273 TraceCheckUtils]: 14: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,294 INFO L273 TraceCheckUtils]: 15: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,294 INFO L273 TraceCheckUtils]: 16: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 17: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 18: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 19: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 20: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 21: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L273 TraceCheckUtils]: 22: Hoare triple {3504#true} assume !(~i~1 < 5); {3504#true} is VALID [2018-11-14 18:50:21,295 INFO L256 TraceCheckUtils]: 23: Hoare triple {3504#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {3504#true} is VALID [2018-11-14 18:50:21,296 INFO L273 TraceCheckUtils]: 24: Hoare triple {3504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3506#(= max_~i~0 0)} is VALID [2018-11-14 18:50:21,296 INFO L273 TraceCheckUtils]: 25: Hoare triple {3506#(= max_~i~0 0)} assume true; {3506#(= max_~i~0 0)} is VALID [2018-11-14 18:50:21,297 INFO L273 TraceCheckUtils]: 26: Hoare triple {3506#(= max_~i~0 0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3506#(= max_~i~0 0)} is VALID [2018-11-14 18:50:21,297 INFO L273 TraceCheckUtils]: 27: Hoare triple {3506#(= max_~i~0 0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3506#(= max_~i~0 0)} is VALID [2018-11-14 18:50:21,297 INFO L273 TraceCheckUtils]: 28: Hoare triple {3506#(= max_~i~0 0)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3506#(= max_~i~0 0)} is VALID [2018-11-14 18:50:21,298 INFO L273 TraceCheckUtils]: 29: Hoare triple {3506#(= max_~i~0 0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3507#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:21,298 INFO L273 TraceCheckUtils]: 30: Hoare triple {3507#(<= max_~i~0 1)} assume true; {3507#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:21,298 INFO L273 TraceCheckUtils]: 31: Hoare triple {3507#(<= max_~i~0 1)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3507#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:21,299 INFO L273 TraceCheckUtils]: 32: Hoare triple {3507#(<= max_~i~0 1)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3507#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:21,299 INFO L273 TraceCheckUtils]: 33: Hoare triple {3507#(<= max_~i~0 1)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3507#(<= max_~i~0 1)} is VALID [2018-11-14 18:50:21,300 INFO L273 TraceCheckUtils]: 34: Hoare triple {3507#(<= max_~i~0 1)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3508#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:21,300 INFO L273 TraceCheckUtils]: 35: Hoare triple {3508#(<= max_~i~0 2)} assume true; {3508#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:21,301 INFO L273 TraceCheckUtils]: 36: Hoare triple {3508#(<= max_~i~0 2)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3508#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:21,301 INFO L273 TraceCheckUtils]: 37: Hoare triple {3508#(<= max_~i~0 2)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3508#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:21,302 INFO L273 TraceCheckUtils]: 38: Hoare triple {3508#(<= max_~i~0 2)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3508#(<= max_~i~0 2)} is VALID [2018-11-14 18:50:21,303 INFO L273 TraceCheckUtils]: 39: Hoare triple {3508#(<= max_~i~0 2)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3509#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:21,303 INFO L273 TraceCheckUtils]: 40: Hoare triple {3509#(<= max_~i~0 3)} assume true; {3509#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:21,304 INFO L273 TraceCheckUtils]: 41: Hoare triple {3509#(<= max_~i~0 3)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3509#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:21,305 INFO L273 TraceCheckUtils]: 42: Hoare triple {3509#(<= max_~i~0 3)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3509#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:21,306 INFO L273 TraceCheckUtils]: 43: Hoare triple {3509#(<= max_~i~0 3)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3509#(<= max_~i~0 3)} is VALID [2018-11-14 18:50:21,307 INFO L273 TraceCheckUtils]: 44: Hoare triple {3509#(<= max_~i~0 3)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3510#(<= max_~i~0 4)} is VALID [2018-11-14 18:50:21,307 INFO L273 TraceCheckUtils]: 45: Hoare triple {3510#(<= max_~i~0 4)} assume true; {3510#(<= max_~i~0 4)} is VALID [2018-11-14 18:50:21,308 INFO L273 TraceCheckUtils]: 46: Hoare triple {3510#(<= max_~i~0 4)} assume !(~i~0 < 5); {3505#false} is VALID [2018-11-14 18:50:21,308 INFO L273 TraceCheckUtils]: 47: Hoare triple {3505#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3505#false} is VALID [2018-11-14 18:50:21,308 INFO L273 TraceCheckUtils]: 48: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,308 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3505#false} {3504#true} #80#return; {3505#false} is VALID [2018-11-14 18:50:21,309 INFO L273 TraceCheckUtils]: 50: Hoare triple {3505#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {3505#false} is VALID [2018-11-14 18:50:21,309 INFO L256 TraceCheckUtils]: 51: Hoare triple {3505#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {3504#true} is VALID [2018-11-14 18:50:21,309 INFO L273 TraceCheckUtils]: 52: Hoare triple {3504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3504#true} is VALID [2018-11-14 18:50:21,310 INFO L273 TraceCheckUtils]: 53: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,310 INFO L273 TraceCheckUtils]: 54: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,310 INFO L273 TraceCheckUtils]: 55: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,310 INFO L273 TraceCheckUtils]: 56: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,311 INFO L273 TraceCheckUtils]: 57: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,311 INFO L273 TraceCheckUtils]: 58: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,311 INFO L273 TraceCheckUtils]: 59: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,312 INFO L273 TraceCheckUtils]: 60: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,312 INFO L273 TraceCheckUtils]: 61: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,312 INFO L273 TraceCheckUtils]: 62: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,312 INFO L273 TraceCheckUtils]: 63: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,312 INFO L273 TraceCheckUtils]: 64: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 65: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 66: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 67: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 68: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 69: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,313 INFO L273 TraceCheckUtils]: 70: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 71: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 72: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 73: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 74: Hoare triple {3504#true} assume !(~i~0 < 5); {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 75: Hoare triple {3504#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3504#true} is VALID [2018-11-14 18:50:21,314 INFO L273 TraceCheckUtils]: 76: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,315 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {3504#true} {3505#false} #82#return; {3505#false} is VALID [2018-11-14 18:50:21,315 INFO L273 TraceCheckUtils]: 78: Hoare triple {3505#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3505#false} is VALID [2018-11-14 18:50:21,315 INFO L273 TraceCheckUtils]: 79: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,315 INFO L273 TraceCheckUtils]: 80: Hoare triple {3505#false} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {3505#false} is VALID [2018-11-14 18:50:21,315 INFO L273 TraceCheckUtils]: 81: Hoare triple {3505#false} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {3505#false} is VALID [2018-11-14 18:50:21,315 INFO L273 TraceCheckUtils]: 82: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,316 INFO L273 TraceCheckUtils]: 83: Hoare triple {3505#false} assume !(~i~2 < 4); {3505#false} is VALID [2018-11-14 18:50:21,316 INFO L273 TraceCheckUtils]: 84: Hoare triple {3505#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {3505#false} is VALID [2018-11-14 18:50:21,316 INFO L256 TraceCheckUtils]: 85: Hoare triple {3505#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {3504#true} is VALID [2018-11-14 18:50:21,316 INFO L273 TraceCheckUtils]: 86: Hoare triple {3504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3504#true} is VALID [2018-11-14 18:50:21,316 INFO L273 TraceCheckUtils]: 87: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,316 INFO L273 TraceCheckUtils]: 88: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 89: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 90: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 91: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 92: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 93: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,317 INFO L273 TraceCheckUtils]: 94: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 95: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 96: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 97: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 98: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 99: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,318 INFO L273 TraceCheckUtils]: 100: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 101: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 102: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 103: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 104: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 105: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 106: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,319 INFO L273 TraceCheckUtils]: 107: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,320 INFO L273 TraceCheckUtils]: 108: Hoare triple {3504#true} assume !(~i~0 < 5); {3504#true} is VALID [2018-11-14 18:50:21,320 INFO L273 TraceCheckUtils]: 109: Hoare triple {3504#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3504#true} is VALID [2018-11-14 18:50:21,320 INFO L273 TraceCheckUtils]: 110: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,320 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {3504#true} {3505#false} #84#return; {3505#false} is VALID [2018-11-14 18:50:21,320 INFO L273 TraceCheckUtils]: 112: Hoare triple {3505#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3505#false} is VALID [2018-11-14 18:50:21,320 INFO L273 TraceCheckUtils]: 113: Hoare triple {3505#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3505#false} is VALID [2018-11-14 18:50:21,321 INFO L273 TraceCheckUtils]: 114: Hoare triple {3505#false} assume !false; {3505#false} is VALID [2018-11-14 18:50:21,328 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 0 proven. 240 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2018-11-14 18:50:21,328 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:21,328 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-14 18:50:21,341 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-14 18:50:21,438 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-14 18:50:21,438 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:21,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:21,492 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:21,618 INFO L256 TraceCheckUtils]: 0: Hoare triple {3504#true} call ULTIMATE.init(); {3504#true} is VALID [2018-11-14 18:50:21,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {3504#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3504#true} is VALID [2018-11-14 18:50:21,618 INFO L273 TraceCheckUtils]: 2: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,619 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3504#true} {3504#true} #76#return; {3504#true} is VALID [2018-11-14 18:50:21,619 INFO L256 TraceCheckUtils]: 4: Hoare triple {3504#true} call #t~ret14 := main(); {3504#true} is VALID [2018-11-14 18:50:21,619 INFO L273 TraceCheckUtils]: 5: Hoare triple {3504#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; {3504#true} is VALID [2018-11-14 18:50:21,619 INFO L273 TraceCheckUtils]: 6: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,619 INFO L273 TraceCheckUtils]: 7: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 8: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 9: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 10: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 11: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 12: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 13: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 14: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,620 INFO L273 TraceCheckUtils]: 15: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 16: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 17: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 18: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 19: Hoare triple {3504#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 20: Hoare triple {3504#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 21: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L273 TraceCheckUtils]: 22: Hoare triple {3504#true} assume !(~i~1 < 5); {3504#true} is VALID [2018-11-14 18:50:21,621 INFO L256 TraceCheckUtils]: 23: Hoare triple {3504#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 24: Hoare triple {3504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 25: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 26: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 27: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 28: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 29: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 30: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 31: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,622 INFO L273 TraceCheckUtils]: 32: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 33: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 34: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 35: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 36: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 37: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 38: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 39: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,623 INFO L273 TraceCheckUtils]: 40: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 41: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 42: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 43: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 44: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 45: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 46: Hoare triple {3504#true} assume !(~i~0 < 5); {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 47: Hoare triple {3504#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3504#true} is VALID [2018-11-14 18:50:21,624 INFO L273 TraceCheckUtils]: 48: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {3504#true} {3504#true} #80#return; {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 50: Hoare triple {3504#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L256 TraceCheckUtils]: 51: Hoare triple {3504#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 52: Hoare triple {3504#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 53: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 54: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 55: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,625 INFO L273 TraceCheckUtils]: 56: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 57: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 58: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 59: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 60: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 61: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 62: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 63: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,626 INFO L273 TraceCheckUtils]: 64: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 65: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 66: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 67: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 68: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 69: Hoare triple {3504#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 70: Hoare triple {3504#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 71: Hoare triple {3504#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 72: Hoare triple {3504#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3504#true} is VALID [2018-11-14 18:50:21,627 INFO L273 TraceCheckUtils]: 73: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,628 INFO L273 TraceCheckUtils]: 74: Hoare triple {3504#true} assume !(~i~0 < 5); {3504#true} is VALID [2018-11-14 18:50:21,628 INFO L273 TraceCheckUtils]: 75: Hoare triple {3504#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3504#true} is VALID [2018-11-14 18:50:21,628 INFO L273 TraceCheckUtils]: 76: Hoare triple {3504#true} assume true; {3504#true} is VALID [2018-11-14 18:50:21,628 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {3504#true} {3504#true} #82#return; {3504#true} is VALID [2018-11-14 18:50:21,628 INFO L273 TraceCheckUtils]: 78: Hoare triple {3504#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {3748#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:21,629 INFO L273 TraceCheckUtils]: 79: Hoare triple {3748#(<= main_~i~2 0)} assume true; {3748#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:21,629 INFO L273 TraceCheckUtils]: 80: Hoare triple {3748#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {3748#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:21,630 INFO L273 TraceCheckUtils]: 81: Hoare triple {3748#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {3758#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:21,630 INFO L273 TraceCheckUtils]: 82: Hoare triple {3758#(<= main_~i~2 1)} assume true; {3758#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:21,630 INFO L273 TraceCheckUtils]: 83: Hoare triple {3758#(<= main_~i~2 1)} assume !(~i~2 < 4); {3505#false} is VALID [2018-11-14 18:50:21,630 INFO L273 TraceCheckUtils]: 84: Hoare triple {3505#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L256 TraceCheckUtils]: 85: Hoare triple {3505#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 86: Hoare triple {3505#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 87: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 88: Hoare triple {3505#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 89: Hoare triple {3505#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 90: Hoare triple {3505#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 91: Hoare triple {3505#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3505#false} is VALID [2018-11-14 18:50:21,631 INFO L273 TraceCheckUtils]: 92: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 93: Hoare triple {3505#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 94: Hoare triple {3505#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 95: Hoare triple {3505#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 96: Hoare triple {3505#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 97: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,632 INFO L273 TraceCheckUtils]: 98: Hoare triple {3505#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 99: Hoare triple {3505#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 100: Hoare triple {3505#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 101: Hoare triple {3505#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 102: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 103: Hoare triple {3505#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 104: Hoare triple {3505#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 105: Hoare triple {3505#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {3505#false} is VALID [2018-11-14 18:50:21,633 INFO L273 TraceCheckUtils]: 106: Hoare triple {3505#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 107: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 108: Hoare triple {3505#false} assume !(~i~0 < 5); {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 109: Hoare triple {3505#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 110: Hoare triple {3505#false} assume true; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L268 TraceCheckUtils]: 111: Hoare quadruple {3505#false} {3505#false} #84#return; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 112: Hoare triple {3505#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 113: Hoare triple {3505#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3505#false} is VALID [2018-11-14 18:50:21,634 INFO L273 TraceCheckUtils]: 114: Hoare triple {3505#false} assume !false; {3505#false} is VALID [2018-11-14 18:50:21,640 INFO L134 CoverageAnalysis]: Checked inductivity of 462 backedges. 204 proven. 2 refuted. 0 times theorem prover too weak. 256 trivial. 0 not checked. [2018-11-14 18:50:21,661 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:21,662 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4] total 9 [2018-11-14 18:50:21,662 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 115 [2018-11-14 18:50:21,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:21,663 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 18:50:21,830 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:21,830 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 18:50:21,831 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 18:50:21,831 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:50:21,831 INFO L87 Difference]: Start difference. First operand 64 states and 72 transitions. Second operand 9 states. [2018-11-14 18:50:22,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:22,291 INFO L93 Difference]: Finished difference Result 113 states and 133 transitions. [2018-11-14 18:50:22,291 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-11-14 18:50:22,292 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 115 [2018-11-14 18:50:22,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:22,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:50:22,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2018-11-14 18:50:22,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:50:22,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2018-11-14 18:50:22,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2018-11-14 18:50:22,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:22,442 INFO L225 Difference]: With dead ends: 113 [2018-11-14 18:50:22,442 INFO L226 Difference]: Without dead ends: 73 [2018-11-14 18:50:22,443 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 114 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-14 18:50:22,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2018-11-14 18:50:22,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 72. [2018-11-14 18:50:22,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:22,463 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 72 states. [2018-11-14 18:50:22,463 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 72 states. [2018-11-14 18:50:22,463 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 72 states. [2018-11-14 18:50:22,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:22,465 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-14 18:50:22,466 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-14 18:50:22,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:22,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:22,466 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 73 states. [2018-11-14 18:50:22,466 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 73 states. [2018-11-14 18:50:22,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:22,468 INFO L93 Difference]: Finished difference Result 73 states and 82 transitions. [2018-11-14 18:50:22,468 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 82 transitions. [2018-11-14 18:50:22,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:22,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:22,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:22,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:22,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-14 18:50:22,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 81 transitions. [2018-11-14 18:50:22,471 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 81 transitions. Word has length 115 [2018-11-14 18:50:22,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:22,472 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 81 transitions. [2018-11-14 18:50:22,472 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 18:50:22,472 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-14 18:50:22,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 134 [2018-11-14 18:50:22,473 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:22,473 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 15, 6, 5, 5, 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] [2018-11-14 18:50:22,474 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:22,474 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:22,474 INFO L82 PathProgramCache]: Analyzing trace with hash -52273301, now seen corresponding path program 7 times [2018-11-14 18:50:22,474 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:22,474 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:22,475 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:22,475 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:22,475 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:22,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:23,063 INFO L256 TraceCheckUtils]: 0: Hoare triple {4244#true} call ULTIMATE.init(); {4244#true} is VALID [2018-11-14 18:50:23,064 INFO L273 TraceCheckUtils]: 1: Hoare triple {4244#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4244#true} is VALID [2018-11-14 18:50:23,064 INFO L273 TraceCheckUtils]: 2: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,064 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4244#true} {4244#true} #76#return; {4244#true} is VALID [2018-11-14 18:50:23,064 INFO L256 TraceCheckUtils]: 4: Hoare triple {4244#true} call #t~ret14 := main(); {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 5: Hoare triple {4244#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; {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 6: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 7: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 8: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 9: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,065 INFO L273 TraceCheckUtils]: 10: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,066 INFO L273 TraceCheckUtils]: 11: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,066 INFO L273 TraceCheckUtils]: 12: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,066 INFO L273 TraceCheckUtils]: 13: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,066 INFO L273 TraceCheckUtils]: 14: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,066 INFO L273 TraceCheckUtils]: 15: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 16: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 17: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 18: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 19: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 20: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,067 INFO L273 TraceCheckUtils]: 21: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,068 INFO L273 TraceCheckUtils]: 22: Hoare triple {4244#true} assume !(~i~1 < 5); {4244#true} is VALID [2018-11-14 18:50:23,068 INFO L256 TraceCheckUtils]: 23: Hoare triple {4244#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {4244#true} is VALID [2018-11-14 18:50:23,068 INFO L273 TraceCheckUtils]: 24: Hoare triple {4244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4244#true} is VALID [2018-11-14 18:50:23,068 INFO L273 TraceCheckUtils]: 25: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,068 INFO L273 TraceCheckUtils]: 26: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 27: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 28: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 29: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 30: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 31: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,069 INFO L273 TraceCheckUtils]: 32: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,070 INFO L273 TraceCheckUtils]: 33: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,070 INFO L273 TraceCheckUtils]: 34: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,070 INFO L273 TraceCheckUtils]: 35: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,070 INFO L273 TraceCheckUtils]: 36: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,070 INFO L273 TraceCheckUtils]: 37: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 38: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 39: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 40: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 41: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 42: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,071 INFO L273 TraceCheckUtils]: 43: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,072 INFO L273 TraceCheckUtils]: 44: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,072 INFO L273 TraceCheckUtils]: 45: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,072 INFO L273 TraceCheckUtils]: 46: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,072 INFO L273 TraceCheckUtils]: 47: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,072 INFO L273 TraceCheckUtils]: 48: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,073 INFO L273 TraceCheckUtils]: 49: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,073 INFO L273 TraceCheckUtils]: 50: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,073 INFO L273 TraceCheckUtils]: 51: Hoare triple {4244#true} assume !(~i~0 < 5); {4244#true} is VALID [2018-11-14 18:50:23,073 INFO L273 TraceCheckUtils]: 52: Hoare triple {4244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4244#true} is VALID [2018-11-14 18:50:23,073 INFO L273 TraceCheckUtils]: 53: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4244#true} {4244#true} #80#return; {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L273 TraceCheckUtils]: 55: Hoare triple {4244#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L256 TraceCheckUtils]: 56: Hoare triple {4244#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L273 TraceCheckUtils]: 57: Hoare triple {4244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L273 TraceCheckUtils]: 58: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,074 INFO L273 TraceCheckUtils]: 59: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,075 INFO L273 TraceCheckUtils]: 60: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,075 INFO L273 TraceCheckUtils]: 61: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,075 INFO L273 TraceCheckUtils]: 62: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,075 INFO L273 TraceCheckUtils]: 63: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,075 INFO L273 TraceCheckUtils]: 64: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 65: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 66: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 67: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 68: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 69: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,076 INFO L273 TraceCheckUtils]: 70: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,077 INFO L273 TraceCheckUtils]: 71: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,077 INFO L273 TraceCheckUtils]: 72: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,077 INFO L273 TraceCheckUtils]: 73: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,077 INFO L273 TraceCheckUtils]: 74: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,077 INFO L273 TraceCheckUtils]: 75: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 76: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 77: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 78: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 79: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 80: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,078 INFO L273 TraceCheckUtils]: 81: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L273 TraceCheckUtils]: 82: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L273 TraceCheckUtils]: 83: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L273 TraceCheckUtils]: 84: Hoare triple {4244#true} assume !(~i~0 < 5); {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L273 TraceCheckUtils]: 85: Hoare triple {4244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L273 TraceCheckUtils]: 86: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,079 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {4244#true} {4244#true} #82#return; {4244#true} is VALID [2018-11-14 18:50:23,092 INFO L273 TraceCheckUtils]: 88: Hoare triple {4244#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4246#(= main_~i~2 0)} is VALID [2018-11-14 18:50:23,105 INFO L273 TraceCheckUtils]: 89: Hoare triple {4246#(= main_~i~2 0)} assume true; {4246#(= main_~i~2 0)} is VALID [2018-11-14 18:50:23,117 INFO L273 TraceCheckUtils]: 90: Hoare triple {4246#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4246#(= main_~i~2 0)} is VALID [2018-11-14 18:50:23,130 INFO L273 TraceCheckUtils]: 91: Hoare triple {4246#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,144 INFO L273 TraceCheckUtils]: 92: Hoare triple {4247#(<= main_~i~2 1)} assume true; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,152 INFO L273 TraceCheckUtils]: 93: Hoare triple {4247#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,165 INFO L273 TraceCheckUtils]: 94: Hoare triple {4247#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4248#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:23,178 INFO L273 TraceCheckUtils]: 95: Hoare triple {4248#(<= main_~i~2 2)} assume true; {4248#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:23,187 INFO L273 TraceCheckUtils]: 96: Hoare triple {4248#(<= main_~i~2 2)} assume !(~i~2 < 4); {4245#false} is VALID [2018-11-14 18:50:23,188 INFO L273 TraceCheckUtils]: 97: Hoare triple {4245#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4245#false} is VALID [2018-11-14 18:50:23,188 INFO L256 TraceCheckUtils]: 98: Hoare triple {4245#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {4244#true} is VALID [2018-11-14 18:50:23,188 INFO L273 TraceCheckUtils]: 99: Hoare triple {4244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4244#true} is VALID [2018-11-14 18:50:23,188 INFO L273 TraceCheckUtils]: 100: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,188 INFO L273 TraceCheckUtils]: 101: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,188 INFO L273 TraceCheckUtils]: 102: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 103: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 104: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 105: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 106: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 107: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,189 INFO L273 TraceCheckUtils]: 108: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 109: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 110: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 111: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 112: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 113: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,190 INFO L273 TraceCheckUtils]: 114: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 115: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 116: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 117: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 118: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 119: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,191 INFO L273 TraceCheckUtils]: 120: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,192 INFO L273 TraceCheckUtils]: 121: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,192 INFO L273 TraceCheckUtils]: 122: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,192 INFO L273 TraceCheckUtils]: 123: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,192 INFO L273 TraceCheckUtils]: 124: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,192 INFO L273 TraceCheckUtils]: 125: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,193 INFO L273 TraceCheckUtils]: 126: Hoare triple {4244#true} assume !(~i~0 < 5); {4244#true} is VALID [2018-11-14 18:50:23,193 INFO L273 TraceCheckUtils]: 127: Hoare triple {4244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4244#true} is VALID [2018-11-14 18:50:23,193 INFO L273 TraceCheckUtils]: 128: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,193 INFO L268 TraceCheckUtils]: 129: Hoare quadruple {4244#true} {4245#false} #84#return; {4245#false} is VALID [2018-11-14 18:50:23,193 INFO L273 TraceCheckUtils]: 130: Hoare triple {4245#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4245#false} is VALID [2018-11-14 18:50:23,193 INFO L273 TraceCheckUtils]: 131: Hoare triple {4245#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4245#false} is VALID [2018-11-14 18:50:23,194 INFO L273 TraceCheckUtils]: 132: Hoare triple {4245#false} assume !false; {4245#false} is VALID [2018-11-14 18:50:23,207 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 673 trivial. 0 not checked. [2018-11-14 18:50:23,207 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:23,207 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-14 18:50:23,224 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:23,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:23,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:23,316 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:23,444 INFO L256 TraceCheckUtils]: 0: Hoare triple {4244#true} call ULTIMATE.init(); {4244#true} is VALID [2018-11-14 18:50:23,445 INFO L273 TraceCheckUtils]: 1: Hoare triple {4244#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {4244#true} is VALID [2018-11-14 18:50:23,445 INFO L273 TraceCheckUtils]: 2: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,445 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4244#true} {4244#true} #76#return; {4244#true} is VALID [2018-11-14 18:50:23,446 INFO L256 TraceCheckUtils]: 4: Hoare triple {4244#true} call #t~ret14 := main(); {4244#true} is VALID [2018-11-14 18:50:23,446 INFO L273 TraceCheckUtils]: 5: Hoare triple {4244#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; {4244#true} is VALID [2018-11-14 18:50:23,446 INFO L273 TraceCheckUtils]: 6: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,446 INFO L273 TraceCheckUtils]: 7: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,446 INFO L273 TraceCheckUtils]: 8: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 9: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 10: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 11: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 12: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 13: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 14: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,447 INFO L273 TraceCheckUtils]: 15: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 16: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 17: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 18: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 19: Hoare triple {4244#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 20: Hoare triple {4244#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 21: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L273 TraceCheckUtils]: 22: Hoare triple {4244#true} assume !(~i~1 < 5); {4244#true} is VALID [2018-11-14 18:50:23,448 INFO L256 TraceCheckUtils]: 23: Hoare triple {4244#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 24: Hoare triple {4244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 25: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 26: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 27: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 28: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 29: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 30: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 31: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,449 INFO L273 TraceCheckUtils]: 32: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 33: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 34: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 35: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 36: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 37: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 38: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 39: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,450 INFO L273 TraceCheckUtils]: 40: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 41: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 42: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 43: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 44: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 45: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 46: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 47: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,451 INFO L273 TraceCheckUtils]: 48: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,452 INFO L273 TraceCheckUtils]: 49: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,452 INFO L273 TraceCheckUtils]: 50: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,452 INFO L273 TraceCheckUtils]: 51: Hoare triple {4244#true} assume !(~i~0 < 5); {4244#true} is VALID [2018-11-14 18:50:23,452 INFO L273 TraceCheckUtils]: 52: Hoare triple {4244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4244#true} is VALID [2018-11-14 18:50:23,452 INFO L273 TraceCheckUtils]: 53: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {4244#true} {4244#true} #80#return; {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L273 TraceCheckUtils]: 55: Hoare triple {4244#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L256 TraceCheckUtils]: 56: Hoare triple {4244#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L273 TraceCheckUtils]: 57: Hoare triple {4244#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L273 TraceCheckUtils]: 58: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,453 INFO L273 TraceCheckUtils]: 59: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 60: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 61: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 62: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 63: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 64: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,454 INFO L273 TraceCheckUtils]: 65: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 66: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 67: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 68: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 69: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 70: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,455 INFO L273 TraceCheckUtils]: 71: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 72: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 73: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 74: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 75: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 76: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,456 INFO L273 TraceCheckUtils]: 77: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 78: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 79: Hoare triple {4244#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 80: Hoare triple {4244#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 81: Hoare triple {4244#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 82: Hoare triple {4244#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4244#true} is VALID [2018-11-14 18:50:23,457 INFO L273 TraceCheckUtils]: 83: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,458 INFO L273 TraceCheckUtils]: 84: Hoare triple {4244#true} assume !(~i~0 < 5); {4244#true} is VALID [2018-11-14 18:50:23,458 INFO L273 TraceCheckUtils]: 85: Hoare triple {4244#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4244#true} is VALID [2018-11-14 18:50:23,458 INFO L273 TraceCheckUtils]: 86: Hoare triple {4244#true} assume true; {4244#true} is VALID [2018-11-14 18:50:23,458 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {4244#true} {4244#true} #82#return; {4244#true} is VALID [2018-11-14 18:50:23,472 INFO L273 TraceCheckUtils]: 88: Hoare triple {4244#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {4516#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:23,481 INFO L273 TraceCheckUtils]: 89: Hoare triple {4516#(<= main_~i~2 0)} assume true; {4516#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:23,488 INFO L273 TraceCheckUtils]: 90: Hoare triple {4516#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4516#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:23,489 INFO L273 TraceCheckUtils]: 91: Hoare triple {4516#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,491 INFO L273 TraceCheckUtils]: 92: Hoare triple {4247#(<= main_~i~2 1)} assume true; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,491 INFO L273 TraceCheckUtils]: 93: Hoare triple {4247#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {4247#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:23,493 INFO L273 TraceCheckUtils]: 94: Hoare triple {4247#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {4248#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:23,493 INFO L273 TraceCheckUtils]: 95: Hoare triple {4248#(<= main_~i~2 2)} assume true; {4248#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 96: Hoare triple {4248#(<= main_~i~2 2)} assume !(~i~2 < 4); {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 97: Hoare triple {4245#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L256 TraceCheckUtils]: 98: Hoare triple {4245#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 99: Hoare triple {4245#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 100: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 101: Hoare triple {4245#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4245#false} is VALID [2018-11-14 18:50:23,495 INFO L273 TraceCheckUtils]: 102: Hoare triple {4245#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 103: Hoare triple {4245#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 104: Hoare triple {4245#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 105: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 106: Hoare triple {4245#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 107: Hoare triple {4245#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 108: Hoare triple {4245#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 109: Hoare triple {4245#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 110: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,496 INFO L273 TraceCheckUtils]: 111: Hoare triple {4245#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 112: Hoare triple {4245#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 113: Hoare triple {4245#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 114: Hoare triple {4245#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 115: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 116: Hoare triple {4245#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 117: Hoare triple {4245#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4245#false} is VALID [2018-11-14 18:50:23,497 INFO L273 TraceCheckUtils]: 118: Hoare triple {4245#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 119: Hoare triple {4245#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 120: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 121: Hoare triple {4245#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 122: Hoare triple {4245#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 123: Hoare triple {4245#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 124: Hoare triple {4245#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 125: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 126: Hoare triple {4245#false} assume !(~i~0 < 5); {4245#false} is VALID [2018-11-14 18:50:23,498 INFO L273 TraceCheckUtils]: 127: Hoare triple {4245#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {4245#false} is VALID [2018-11-14 18:50:23,499 INFO L273 TraceCheckUtils]: 128: Hoare triple {4245#false} assume true; {4245#false} is VALID [2018-11-14 18:50:23,499 INFO L268 TraceCheckUtils]: 129: Hoare quadruple {4245#false} {4245#false} #84#return; {4245#false} is VALID [2018-11-14 18:50:23,499 INFO L273 TraceCheckUtils]: 130: Hoare triple {4245#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {4245#false} is VALID [2018-11-14 18:50:23,499 INFO L273 TraceCheckUtils]: 131: Hoare triple {4245#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4245#false} is VALID [2018-11-14 18:50:23,499 INFO L273 TraceCheckUtils]: 132: Hoare triple {4245#false} assume !false; {4245#false} is VALID [2018-11-14 18:50:23,508 INFO L134 CoverageAnalysis]: Checked inductivity of 680 backedges. 302 proven. 7 refuted. 0 times theorem prover too weak. 371 trivial. 0 not checked. [2018-11-14 18:50:23,530 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:23,530 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2018-11-14 18:50:23,531 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 133 [2018-11-14 18:50:23,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:23,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:50:23,588 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-14 18:50:23,588 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:50:23,588 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:50:23,589 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:50:23,589 INFO L87 Difference]: Start difference. First operand 72 states and 81 transitions. Second operand 6 states. [2018-11-14 18:50:23,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:23,840 INFO L93 Difference]: Finished difference Result 113 states and 128 transitions. [2018-11-14 18:50:23,840 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 18:50:23,840 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 133 [2018-11-14 18:50:23,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:23,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:50:23,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-14 18:50:23,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:50:23,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2018-11-14 18:50:23,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2018-11-14 18:50:23,943 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:23,945 INFO L225 Difference]: With dead ends: 113 [2018-11-14 18:50:23,945 INFO L226 Difference]: Without dead ends: 76 [2018-11-14 18:50:23,945 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 133 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:50:23,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-14 18:50:23,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 75. [2018-11-14 18:50:23,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:23,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 75 states. [2018-11-14 18:50:23,971 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 75 states. [2018-11-14 18:50:23,971 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 75 states. [2018-11-14 18:50:23,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:23,975 INFO L93 Difference]: Finished difference Result 76 states and 85 transitions. [2018-11-14 18:50:23,975 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 85 transitions. [2018-11-14 18:50:23,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:23,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:23,976 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 76 states. [2018-11-14 18:50:23,976 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 76 states. [2018-11-14 18:50:23,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:23,978 INFO L93 Difference]: Finished difference Result 76 states and 85 transitions. [2018-11-14 18:50:23,979 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 85 transitions. [2018-11-14 18:50:23,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:23,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:23,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:23,980 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:23,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-11-14 18:50:23,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 84 transitions. [2018-11-14 18:50:23,982 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 84 transitions. Word has length 133 [2018-11-14 18:50:23,982 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:23,982 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 84 transitions. [2018-11-14 18:50:23,982 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:50:23,982 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2018-11-14 18:50:23,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2018-11-14 18:50:23,984 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:23,984 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 15, 6, 5, 5, 4, 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-14 18:50:23,984 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:23,984 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:23,985 INFO L82 PathProgramCache]: Analyzing trace with hash -1518926510, now seen corresponding path program 8 times [2018-11-14 18:50:23,985 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:23,985 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:23,986 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:23,986 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:50:23,986 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:24,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:24,178 INFO L256 TraceCheckUtils]: 0: Hoare triple {5044#true} call ULTIMATE.init(); {5044#true} is VALID [2018-11-14 18:50:24,178 INFO L273 TraceCheckUtils]: 1: Hoare triple {5044#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5044#true} is VALID [2018-11-14 18:50:24,179 INFO L273 TraceCheckUtils]: 2: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,179 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5044#true} {5044#true} #76#return; {5044#true} is VALID [2018-11-14 18:50:24,179 INFO L256 TraceCheckUtils]: 4: Hoare triple {5044#true} call #t~ret14 := main(); {5044#true} is VALID [2018-11-14 18:50:24,180 INFO L273 TraceCheckUtils]: 5: Hoare triple {5044#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; {5044#true} is VALID [2018-11-14 18:50:24,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,180 INFO L273 TraceCheckUtils]: 7: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,180 INFO L273 TraceCheckUtils]: 8: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,180 INFO L273 TraceCheckUtils]: 9: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 10: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 11: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 12: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 13: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 14: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,181 INFO L273 TraceCheckUtils]: 15: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 16: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 17: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 18: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 19: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 20: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 21: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,182 INFO L273 TraceCheckUtils]: 22: Hoare triple {5044#true} assume !(~i~1 < 5); {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L256 TraceCheckUtils]: 23: Hoare triple {5044#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L273 TraceCheckUtils]: 24: Hoare triple {5044#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L273 TraceCheckUtils]: 25: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L273 TraceCheckUtils]: 26: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L273 TraceCheckUtils]: 27: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,183 INFO L273 TraceCheckUtils]: 28: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 29: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 30: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 31: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 32: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 33: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 34: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,184 INFO L273 TraceCheckUtils]: 35: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 36: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 37: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 38: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 39: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 40: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 41: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,185 INFO L273 TraceCheckUtils]: 42: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 43: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 44: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 45: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 46: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 47: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,186 INFO L273 TraceCheckUtils]: 48: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 49: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 50: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 51: Hoare triple {5044#true} assume !(~i~0 < 5); {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 52: Hoare triple {5044#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 53: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5044#true} {5044#true} #80#return; {5044#true} is VALID [2018-11-14 18:50:24,187 INFO L273 TraceCheckUtils]: 55: Hoare triple {5044#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L256 TraceCheckUtils]: 56: Hoare triple {5044#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 57: Hoare triple {5044#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 58: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 59: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 60: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 61: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,188 INFO L273 TraceCheckUtils]: 62: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 63: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 64: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 65: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 66: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 67: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,189 INFO L273 TraceCheckUtils]: 68: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 69: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 70: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 71: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 72: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 73: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 74: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,190 INFO L273 TraceCheckUtils]: 75: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 76: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 77: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 78: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 79: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 80: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 81: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,191 INFO L273 TraceCheckUtils]: 82: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,192 INFO L273 TraceCheckUtils]: 83: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,192 INFO L273 TraceCheckUtils]: 84: Hoare triple {5044#true} assume !(~i~0 < 5); {5044#true} is VALID [2018-11-14 18:50:24,192 INFO L273 TraceCheckUtils]: 85: Hoare triple {5044#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5044#true} is VALID [2018-11-14 18:50:24,192 INFO L273 TraceCheckUtils]: 86: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,192 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {5044#true} {5044#true} #82#return; {5044#true} is VALID [2018-11-14 18:50:24,193 INFO L273 TraceCheckUtils]: 88: Hoare triple {5044#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5046#(= main_~i~2 0)} is VALID [2018-11-14 18:50:24,193 INFO L273 TraceCheckUtils]: 89: Hoare triple {5046#(= main_~i~2 0)} assume true; {5046#(= main_~i~2 0)} is VALID [2018-11-14 18:50:24,194 INFO L273 TraceCheckUtils]: 90: Hoare triple {5046#(= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5046#(= main_~i~2 0)} is VALID [2018-11-14 18:50:24,194 INFO L273 TraceCheckUtils]: 91: Hoare triple {5046#(= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,194 INFO L273 TraceCheckUtils]: 92: Hoare triple {5047#(<= main_~i~2 1)} assume true; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,195 INFO L273 TraceCheckUtils]: 93: Hoare triple {5047#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,195 INFO L273 TraceCheckUtils]: 94: Hoare triple {5047#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,196 INFO L273 TraceCheckUtils]: 95: Hoare triple {5048#(<= main_~i~2 2)} assume true; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,196 INFO L273 TraceCheckUtils]: 96: Hoare triple {5048#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,197 INFO L273 TraceCheckUtils]: 97: Hoare triple {5048#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5049#(<= main_~i~2 3)} is VALID [2018-11-14 18:50:24,197 INFO L273 TraceCheckUtils]: 98: Hoare triple {5049#(<= main_~i~2 3)} assume true; {5049#(<= main_~i~2 3)} is VALID [2018-11-14 18:50:24,197 INFO L273 TraceCheckUtils]: 99: Hoare triple {5049#(<= main_~i~2 3)} assume !(~i~2 < 4); {5045#false} is VALID [2018-11-14 18:50:24,198 INFO L273 TraceCheckUtils]: 100: Hoare triple {5045#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {5045#false} is VALID [2018-11-14 18:50:24,198 INFO L256 TraceCheckUtils]: 101: Hoare triple {5045#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {5044#true} is VALID [2018-11-14 18:50:24,198 INFO L273 TraceCheckUtils]: 102: Hoare triple {5044#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5044#true} is VALID [2018-11-14 18:50:24,199 INFO L273 TraceCheckUtils]: 103: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,199 INFO L273 TraceCheckUtils]: 104: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,199 INFO L273 TraceCheckUtils]: 105: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,199 INFO L273 TraceCheckUtils]: 106: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,200 INFO L273 TraceCheckUtils]: 107: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,200 INFO L273 TraceCheckUtils]: 108: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,200 INFO L273 TraceCheckUtils]: 109: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,200 INFO L273 TraceCheckUtils]: 110: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,201 INFO L273 TraceCheckUtils]: 111: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,201 INFO L273 TraceCheckUtils]: 112: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,201 INFO L273 TraceCheckUtils]: 113: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,201 INFO L273 TraceCheckUtils]: 114: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 115: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 116: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 117: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 118: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 119: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 120: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,202 INFO L273 TraceCheckUtils]: 121: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 122: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 123: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 124: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 125: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 126: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 127: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,203 INFO L273 TraceCheckUtils]: 128: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,204 INFO L273 TraceCheckUtils]: 129: Hoare triple {5044#true} assume !(~i~0 < 5); {5044#true} is VALID [2018-11-14 18:50:24,204 INFO L273 TraceCheckUtils]: 130: Hoare triple {5044#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5044#true} is VALID [2018-11-14 18:50:24,204 INFO L273 TraceCheckUtils]: 131: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,204 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {5044#true} {5045#false} #84#return; {5045#false} is VALID [2018-11-14 18:50:24,204 INFO L273 TraceCheckUtils]: 133: Hoare triple {5045#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5045#false} is VALID [2018-11-14 18:50:24,204 INFO L273 TraceCheckUtils]: 134: Hoare triple {5045#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5045#false} is VALID [2018-11-14 18:50:24,205 INFO L273 TraceCheckUtils]: 135: Hoare triple {5045#false} assume !false; {5045#false} is VALID [2018-11-14 18:50:24,220 INFO L134 CoverageAnalysis]: Checked inductivity of 688 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 673 trivial. 0 not checked. [2018-11-14 18:50:24,220 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 18:50:24,220 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-14 18:50:24,229 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-14 18:50:24,292 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:50:24,292 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:50:24,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:24,340 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:50:24,654 INFO L256 TraceCheckUtils]: 0: Hoare triple {5044#true} call ULTIMATE.init(); {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 1: Hoare triple {5044#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 2: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5044#true} {5044#true} #76#return; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L256 TraceCheckUtils]: 4: Hoare triple {5044#true} call #t~ret14 := main(); {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 5: Hoare triple {5044#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; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 6: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 7: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,655 INFO L273 TraceCheckUtils]: 8: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 9: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 10: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 11: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 12: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 13: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 14: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 15: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,656 INFO L273 TraceCheckUtils]: 16: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 17: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 18: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 19: Hoare triple {5044#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 20: Hoare triple {5044#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 21: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 22: Hoare triple {5044#true} assume !(~i~1 < 5); {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L256 TraceCheckUtils]: 23: Hoare triple {5044#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 24: Hoare triple {5044#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5044#true} is VALID [2018-11-14 18:50:24,657 INFO L273 TraceCheckUtils]: 25: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 26: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 27: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 28: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 29: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 30: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 31: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 32: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,658 INFO L273 TraceCheckUtils]: 33: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 34: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 35: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 36: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 37: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 38: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 39: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 40: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,659 INFO L273 TraceCheckUtils]: 41: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 42: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 43: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 44: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 45: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 46: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 47: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 48: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 49: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,660 INFO L273 TraceCheckUtils]: 50: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 51: Hoare triple {5044#true} assume !(~i~0 < 5); {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 52: Hoare triple {5044#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 53: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5044#true} {5044#true} #80#return; {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 55: Hoare triple {5044#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L256 TraceCheckUtils]: 56: Hoare triple {5044#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 57: Hoare triple {5044#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5044#true} is VALID [2018-11-14 18:50:24,661 INFO L273 TraceCheckUtils]: 58: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 59: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 60: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 61: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 62: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 63: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 64: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 65: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 66: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,662 INFO L273 TraceCheckUtils]: 67: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 68: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 69: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 70: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 71: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 72: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 73: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 74: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,663 INFO L273 TraceCheckUtils]: 75: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 76: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 77: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 78: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 79: Hoare triple {5044#true} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 80: Hoare triple {5044#true} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 81: Hoare triple {5044#true} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 82: Hoare triple {5044#true} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 83: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,664 INFO L273 TraceCheckUtils]: 84: Hoare triple {5044#true} assume !(~i~0 < 5); {5044#true} is VALID [2018-11-14 18:50:24,665 INFO L273 TraceCheckUtils]: 85: Hoare triple {5044#true} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5044#true} is VALID [2018-11-14 18:50:24,665 INFO L273 TraceCheckUtils]: 86: Hoare triple {5044#true} assume true; {5044#true} is VALID [2018-11-14 18:50:24,665 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {5044#true} {5044#true} #82#return; {5044#true} is VALID [2018-11-14 18:50:24,665 INFO L273 TraceCheckUtils]: 88: Hoare triple {5044#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5317#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:24,666 INFO L273 TraceCheckUtils]: 89: Hoare triple {5317#(<= main_~i~2 0)} assume true; {5317#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:24,666 INFO L273 TraceCheckUtils]: 90: Hoare triple {5317#(<= main_~i~2 0)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5317#(<= main_~i~2 0)} is VALID [2018-11-14 18:50:24,666 INFO L273 TraceCheckUtils]: 91: Hoare triple {5317#(<= main_~i~2 0)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,667 INFO L273 TraceCheckUtils]: 92: Hoare triple {5047#(<= main_~i~2 1)} assume true; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,667 INFO L273 TraceCheckUtils]: 93: Hoare triple {5047#(<= main_~i~2 1)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5047#(<= main_~i~2 1)} is VALID [2018-11-14 18:50:24,668 INFO L273 TraceCheckUtils]: 94: Hoare triple {5047#(<= main_~i~2 1)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,668 INFO L273 TraceCheckUtils]: 95: Hoare triple {5048#(<= main_~i~2 2)} assume true; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,669 INFO L273 TraceCheckUtils]: 96: Hoare triple {5048#(<= main_~i~2 2)} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5048#(<= main_~i~2 2)} is VALID [2018-11-14 18:50:24,669 INFO L273 TraceCheckUtils]: 97: Hoare triple {5048#(<= main_~i~2 2)} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5049#(<= main_~i~2 3)} is VALID [2018-11-14 18:50:24,670 INFO L273 TraceCheckUtils]: 98: Hoare triple {5049#(<= main_~i~2 3)} assume true; {5049#(<= main_~i~2 3)} is VALID [2018-11-14 18:50:24,671 INFO L273 TraceCheckUtils]: 99: Hoare triple {5049#(<= main_~i~2 3)} assume !(~i~2 < 4); {5045#false} is VALID [2018-11-14 18:50:24,671 INFO L273 TraceCheckUtils]: 100: Hoare triple {5045#false} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {5045#false} is VALID [2018-11-14 18:50:24,671 INFO L256 TraceCheckUtils]: 101: Hoare triple {5045#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {5045#false} is VALID [2018-11-14 18:50:24,671 INFO L273 TraceCheckUtils]: 102: Hoare triple {5045#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5045#false} is VALID [2018-11-14 18:50:24,671 INFO L273 TraceCheckUtils]: 103: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 104: Hoare triple {5045#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 105: Hoare triple {5045#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 106: Hoare triple {5045#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 107: Hoare triple {5045#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 108: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,672 INFO L273 TraceCheckUtils]: 109: Hoare triple {5045#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 110: Hoare triple {5045#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 111: Hoare triple {5045#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 112: Hoare triple {5045#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 113: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 114: Hoare triple {5045#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 115: Hoare triple {5045#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 116: Hoare triple {5045#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5045#false} is VALID [2018-11-14 18:50:24,673 INFO L273 TraceCheckUtils]: 117: Hoare triple {5045#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 118: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 119: Hoare triple {5045#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 120: Hoare triple {5045#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 121: Hoare triple {5045#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 122: Hoare triple {5045#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 123: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 124: Hoare triple {5045#false} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 125: Hoare triple {5045#false} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5045#false} is VALID [2018-11-14 18:50:24,674 INFO L273 TraceCheckUtils]: 126: Hoare triple {5045#false} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 127: Hoare triple {5045#false} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 128: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 129: Hoare triple {5045#false} assume !(~i~0 < 5); {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 130: Hoare triple {5045#false} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 131: Hoare triple {5045#false} assume true; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L268 TraceCheckUtils]: 132: Hoare quadruple {5045#false} {5045#false} #84#return; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 133: Hoare triple {5045#false} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5045#false} is VALID [2018-11-14 18:50:24,675 INFO L273 TraceCheckUtils]: 134: Hoare triple {5045#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5045#false} is VALID [2018-11-14 18:50:24,676 INFO L273 TraceCheckUtils]: 135: Hoare triple {5045#false} assume !false; {5045#false} is VALID [2018-11-14 18:50:24,682 INFO L134 CoverageAnalysis]: Checked inductivity of 688 backedges. 302 proven. 15 refuted. 0 times theorem prover too weak. 371 trivial. 0 not checked. [2018-11-14 18:50:24,702 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:50:24,702 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2018-11-14 18:50:24,703 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 136 [2018-11-14 18:50:24,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:24,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-14 18:50:24,773 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:24,773 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-14 18:50:24,773 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-14 18:50:24,774 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:50:24,774 INFO L87 Difference]: Start difference. First operand 75 states and 84 transitions. Second operand 7 states. [2018-11-14 18:50:24,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:24,950 INFO L93 Difference]: Finished difference Result 115 states and 130 transitions. [2018-11-14 18:50:24,950 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:50:24,951 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 136 [2018-11-14 18:50:24,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:24,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:50:24,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2018-11-14 18:50:24,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-14 18:50:24,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2018-11-14 18:50:24,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2018-11-14 18:50:25,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:25,072 INFO L225 Difference]: With dead ends: 115 [2018-11-14 18:50:25,073 INFO L226 Difference]: Without dead ends: 78 [2018-11-14 18:50:25,073 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2018-11-14 18:50:25,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-14 18:50:25,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2018-11-14 18:50:25,552 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:25,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 78 states. [2018-11-14 18:50:25,552 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 78 states. [2018-11-14 18:50:25,552 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 78 states. [2018-11-14 18:50:25,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:25,554 INFO L93 Difference]: Finished difference Result 78 states and 87 transitions. [2018-11-14 18:50:25,555 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 87 transitions. [2018-11-14 18:50:25,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:25,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:25,556 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 78 states. [2018-11-14 18:50:25,556 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 78 states. [2018-11-14 18:50:25,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:25,558 INFO L93 Difference]: Finished difference Result 78 states and 87 transitions. [2018-11-14 18:50:25,558 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 87 transitions. [2018-11-14 18:50:25,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:25,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:25,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:25,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:25,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-11-14 18:50:25,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 87 transitions. [2018-11-14 18:50:25,561 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 87 transitions. Word has length 136 [2018-11-14 18:50:25,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:25,562 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 87 transitions. [2018-11-14 18:50:25,562 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-14 18:50:25,562 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 87 transitions. [2018-11-14 18:50:25,563 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 140 [2018-11-14 18:50:25,563 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:25,563 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 15, 6, 5, 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-14 18:50:25,563 INFO L423 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:25,563 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:25,563 INFO L82 PathProgramCache]: Analyzing trace with hash -1882373621, now seen corresponding path program 9 times [2018-11-14 18:50:25,564 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:25,564 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:25,564 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:25,565 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:25,565 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:25,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:26,493 INFO L256 TraceCheckUtils]: 0: Hoare triple {5865#true} call ULTIMATE.init(); {5865#true} is VALID [2018-11-14 18:50:26,494 INFO L273 TraceCheckUtils]: 1: Hoare triple {5865#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {5865#true} is VALID [2018-11-14 18:50:26,494 INFO L273 TraceCheckUtils]: 2: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,494 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5865#true} {5865#true} #76#return; {5865#true} is VALID [2018-11-14 18:50:26,494 INFO L256 TraceCheckUtils]: 4: Hoare triple {5865#true} call #t~ret14 := main(); {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 5: Hoare triple {5865#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; {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 6: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 7: Hoare triple {5865#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 8: Hoare triple {5865#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 9: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,495 INFO L273 TraceCheckUtils]: 10: Hoare triple {5865#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5865#true} is VALID [2018-11-14 18:50:26,496 INFO L273 TraceCheckUtils]: 11: Hoare triple {5865#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5865#true} is VALID [2018-11-14 18:50:26,496 INFO L273 TraceCheckUtils]: 12: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,496 INFO L273 TraceCheckUtils]: 13: Hoare triple {5865#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5865#true} is VALID [2018-11-14 18:50:26,496 INFO L273 TraceCheckUtils]: 14: Hoare triple {5865#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5865#true} is VALID [2018-11-14 18:50:26,496 INFO L273 TraceCheckUtils]: 15: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 16: Hoare triple {5865#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 17: Hoare triple {5865#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 18: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 19: Hoare triple {5865#true} assume !!(~i~1 < 5);assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;call write~int(#t~nondet5, ~#x~0.base, ~#x~0.offset + ~i~1 * 4, 4);havoc #t~nondet5; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 20: Hoare triple {5865#true} #t~post4 := ~i~1;~i~1 := #t~post4 + 1;havoc #t~post4; {5865#true} is VALID [2018-11-14 18:50:26,497 INFO L273 TraceCheckUtils]: 21: Hoare triple {5865#true} assume true; {5865#true} is VALID [2018-11-14 18:50:26,498 INFO L273 TraceCheckUtils]: 22: Hoare triple {5865#true} assume !(~i~1 < 5); {5865#true} is VALID [2018-11-14 18:50:26,498 INFO L256 TraceCheckUtils]: 23: Hoare triple {5865#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {5865#true} is VALID [2018-11-14 18:50:26,507 INFO L273 TraceCheckUtils]: 24: Hoare triple {5865#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,508 INFO L273 TraceCheckUtils]: 25: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,508 INFO L273 TraceCheckUtils]: 26: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,509 INFO L273 TraceCheckUtils]: 27: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,509 INFO L273 TraceCheckUtils]: 28: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,509 INFO L273 TraceCheckUtils]: 29: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,510 INFO L273 TraceCheckUtils]: 30: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,510 INFO L273 TraceCheckUtils]: 31: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,510 INFO L273 TraceCheckUtils]: 32: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,511 INFO L273 TraceCheckUtils]: 33: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,511 INFO L273 TraceCheckUtils]: 34: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,512 INFO L273 TraceCheckUtils]: 35: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,512 INFO L273 TraceCheckUtils]: 36: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,513 INFO L273 TraceCheckUtils]: 37: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,514 INFO L273 TraceCheckUtils]: 38: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,514 INFO L273 TraceCheckUtils]: 39: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,514 INFO L273 TraceCheckUtils]: 40: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,515 INFO L273 TraceCheckUtils]: 41: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,516 INFO L273 TraceCheckUtils]: 42: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,516 INFO L273 TraceCheckUtils]: 43: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,517 INFO L273 TraceCheckUtils]: 44: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,517 INFO L273 TraceCheckUtils]: 45: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,518 INFO L273 TraceCheckUtils]: 46: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,518 INFO L273 TraceCheckUtils]: 47: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,519 INFO L273 TraceCheckUtils]: 48: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,519 INFO L273 TraceCheckUtils]: 49: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,520 INFO L273 TraceCheckUtils]: 50: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,520 INFO L273 TraceCheckUtils]: 51: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~i~0 < 5); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,521 INFO L273 TraceCheckUtils]: 52: Hoare triple {5867#(= 0 max_~ret~0)} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,522 INFO L273 TraceCheckUtils]: 53: Hoare triple {5869#(= |max_#res| 0)} assume true; {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,523 INFO L268 TraceCheckUtils]: 54: Hoare quadruple {5869#(= |max_#res| 0)} {5865#true} #80#return; {5870#(= |main_#t~ret6| 0)} is VALID [2018-11-14 18:50:26,524 INFO L273 TraceCheckUtils]: 55: Hoare triple {5870#(= |main_#t~ret6| 0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~int(~#x~0.base, ~#x~0.offset + 4, 4);call write~int(#t~mem8, ~#x~0.base, ~#x~0.offset + 0, 4);havoc #t~mem8;call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 4, 4); {5871#(= main_~ret~1 0)} is VALID [2018-11-14 18:50:26,524 INFO L256 TraceCheckUtils]: 56: Hoare triple {5871#(= main_~ret~1 0)} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {5865#true} is VALID [2018-11-14 18:50:26,524 INFO L273 TraceCheckUtils]: 57: Hoare triple {5865#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,525 INFO L273 TraceCheckUtils]: 58: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,525 INFO L273 TraceCheckUtils]: 59: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,526 INFO L273 TraceCheckUtils]: 60: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,526 INFO L273 TraceCheckUtils]: 61: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,527 INFO L273 TraceCheckUtils]: 62: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,527 INFO L273 TraceCheckUtils]: 63: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,528 INFO L273 TraceCheckUtils]: 64: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,529 INFO L273 TraceCheckUtils]: 65: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,529 INFO L273 TraceCheckUtils]: 66: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,530 INFO L273 TraceCheckUtils]: 67: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,530 INFO L273 TraceCheckUtils]: 68: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,531 INFO L273 TraceCheckUtils]: 69: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,531 INFO L273 TraceCheckUtils]: 70: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,532 INFO L273 TraceCheckUtils]: 71: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,532 INFO L273 TraceCheckUtils]: 72: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,533 INFO L273 TraceCheckUtils]: 73: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,533 INFO L273 TraceCheckUtils]: 74: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,534 INFO L273 TraceCheckUtils]: 75: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,534 INFO L273 TraceCheckUtils]: 76: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,535 INFO L273 TraceCheckUtils]: 77: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,535 INFO L273 TraceCheckUtils]: 78: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,536 INFO L273 TraceCheckUtils]: 79: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,536 INFO L273 TraceCheckUtils]: 80: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,537 INFO L273 TraceCheckUtils]: 81: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,537 INFO L273 TraceCheckUtils]: 82: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,538 INFO L273 TraceCheckUtils]: 83: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,538 INFO L273 TraceCheckUtils]: 84: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~i~0 < 5); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,539 INFO L273 TraceCheckUtils]: 85: Hoare triple {5867#(= 0 max_~ret~0)} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,540 INFO L273 TraceCheckUtils]: 86: Hoare triple {5869#(= |max_#res| 0)} assume true; {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,541 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {5869#(= |max_#res| 0)} {5871#(= main_~ret~1 0)} #82#return; {5872#(and (= main_~ret~1 |main_#t~ret9|) (= main_~ret~1 0))} is VALID [2018-11-14 18:50:26,542 INFO L273 TraceCheckUtils]: 88: Hoare triple {5872#(and (= main_~ret~1 |main_#t~ret9|) (= main_~ret~1 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~int(~#x~0.base, ~#x~0.offset + 0, 4);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,542 INFO L273 TraceCheckUtils]: 89: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume true; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,543 INFO L273 TraceCheckUtils]: 90: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,544 INFO L273 TraceCheckUtils]: 91: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,544 INFO L273 TraceCheckUtils]: 92: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume true; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,545 INFO L273 TraceCheckUtils]: 93: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,546 INFO L273 TraceCheckUtils]: 94: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,546 INFO L273 TraceCheckUtils]: 95: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume true; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,547 INFO L273 TraceCheckUtils]: 96: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,548 INFO L273 TraceCheckUtils]: 97: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,549 INFO L273 TraceCheckUtils]: 98: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume true; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,549 INFO L273 TraceCheckUtils]: 99: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume !!(~i~2 < 4);call #t~mem12 := read~int(~#x~0.base, ~#x~0.offset + (~i~2 + 1) * 4, 4);call write~int(#t~mem12, ~#x~0.base, ~#x~0.offset + ~i~2 * 4, 4);havoc #t~mem12; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,550 INFO L273 TraceCheckUtils]: 100: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} #t~post11 := ~i~2;~i~2 := #t~post11 + 1;havoc #t~post11; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,550 INFO L273 TraceCheckUtils]: 101: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume true; {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,551 INFO L273 TraceCheckUtils]: 102: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} assume !(~i~2 < 4); {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,552 INFO L273 TraceCheckUtils]: 103: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} call write~int(~temp~0, ~#x~0.base, ~#x~0.offset + 16, 4); {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,552 INFO L256 TraceCheckUtils]: 104: Hoare triple {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {5865#true} is VALID [2018-11-14 18:50:26,553 INFO L273 TraceCheckUtils]: 105: Hoare triple {5865#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := 0;~i~0 := 0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,553 INFO L273 TraceCheckUtils]: 106: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,554 INFO L273 TraceCheckUtils]: 107: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,554 INFO L273 TraceCheckUtils]: 108: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,555 INFO L273 TraceCheckUtils]: 109: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,555 INFO L273 TraceCheckUtils]: 110: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,556 INFO L273 TraceCheckUtils]: 111: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,556 INFO L273 TraceCheckUtils]: 112: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,557 INFO L273 TraceCheckUtils]: 113: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,557 INFO L273 TraceCheckUtils]: 114: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,558 INFO L273 TraceCheckUtils]: 115: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,558 INFO L273 TraceCheckUtils]: 116: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,559 INFO L273 TraceCheckUtils]: 117: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,560 INFO L273 TraceCheckUtils]: 118: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,560 INFO L273 TraceCheckUtils]: 119: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,561 INFO L273 TraceCheckUtils]: 120: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,561 INFO L273 TraceCheckUtils]: 121: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,562 INFO L273 TraceCheckUtils]: 122: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,562 INFO L273 TraceCheckUtils]: 123: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,563 INFO L273 TraceCheckUtils]: 124: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,564 INFO L273 TraceCheckUtils]: 125: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,564 INFO L273 TraceCheckUtils]: 126: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,565 INFO L273 TraceCheckUtils]: 127: Hoare triple {5867#(= 0 max_~ret~0)} assume !!(~i~0 < 5);call #t~mem1 := read~int(~x.base, ~x.offset + ~i~0 * 4, 4); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,565 INFO L273 TraceCheckUtils]: 128: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~ret~0 < #t~mem1);#t~ite3 := ~ret~0; {5868#(= 0 |max_#t~ite3|)} is VALID [2018-11-14 18:50:26,566 INFO L273 TraceCheckUtils]: 129: Hoare triple {5868#(= 0 |max_#t~ite3|)} ~ret~0 := #t~ite3;havoc #t~ite3;havoc #t~mem1;havoc #t~mem2; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,566 INFO L273 TraceCheckUtils]: 130: Hoare triple {5867#(= 0 max_~ret~0)} #t~post0 := ~i~0;~i~0 := #t~post0 + 1;havoc #t~post0; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,567 INFO L273 TraceCheckUtils]: 131: Hoare triple {5867#(= 0 max_~ret~0)} assume true; {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,567 INFO L273 TraceCheckUtils]: 132: Hoare triple {5867#(= 0 max_~ret~0)} assume !(~i~0 < 5); {5867#(= 0 max_~ret~0)} is VALID [2018-11-14 18:50:26,568 INFO L273 TraceCheckUtils]: 133: Hoare triple {5867#(= 0 max_~ret~0)} #res := (if ~ret~0 % 4294967296 <= 2147483647 then ~ret~0 % 4294967296 else ~ret~0 % 4294967296 - 4294967296); {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,569 INFO L273 TraceCheckUtils]: 134: Hoare triple {5869#(= |max_#res| 0)} assume true; {5869#(= |max_#res| 0)} is VALID [2018-11-14 18:50:26,570 INFO L268 TraceCheckUtils]: 135: Hoare quadruple {5869#(= |max_#res| 0)} {5873#(and (= main_~ret~1 0) (= main_~ret2~0 main_~ret~1))} #84#return; {5874#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} is VALID [2018-11-14 18:50:26,571 INFO L273 TraceCheckUtils]: 136: Hoare triple {5874#(and (= main_~ret2~0 main_~ret~1) (= main_~ret~1 |main_#t~ret13|))} assume -2147483648 <= #t~ret13 && #t~ret13 <= 2147483647;~ret5~0 := #t~ret13;havoc #t~ret13; {5875#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-14 18:50:26,571 INFO L273 TraceCheckUtils]: 137: Hoare triple {5875#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5866#false} is VALID [2018-11-14 18:50:26,571 INFO L273 TraceCheckUtils]: 138: Hoare triple {5866#false} assume !false; {5866#false} is VALID [2018-11-14 18:50:26,594 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 699 trivial. 0 not checked. [2018-11-14 18:50:26,594 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:50:26,594 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-14 18:50:26,595 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 139 [2018-11-14 18:50:26,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:50:26,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-14 18:50:26,641 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:26,641 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-14 18:50:26,641 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-14 18:50:26,642 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2018-11-14 18:50:26,642 INFO L87 Difference]: Start difference. First operand 78 states and 87 transitions. Second operand 11 states. [2018-11-14 18:50:27,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:27,375 INFO L93 Difference]: Finished difference Result 157 states and 178 transitions. [2018-11-14 18:50:27,375 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-14 18:50:27,375 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 139 [2018-11-14 18:50:27,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:50:27,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 18:50:27,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2018-11-14 18:50:27,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-14 18:50:27,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 80 transitions. [2018-11-14 18:50:27,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 80 transitions. [2018-11-14 18:50:27,878 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:50:27,888 INFO L225 Difference]: With dead ends: 157 [2018-11-14 18:50:27,888 INFO L226 Difference]: Without dead ends: 153 [2018-11-14 18:50:27,889 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 30 SyntacticMatches, 5 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:50:27,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2018-11-14 18:50:27,956 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 124. [2018-11-14 18:50:27,956 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:50:27,956 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 124 states. [2018-11-14 18:50:27,956 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 124 states. [2018-11-14 18:50:27,957 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 124 states. [2018-11-14 18:50:27,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:27,961 INFO L93 Difference]: Finished difference Result 153 states and 174 transitions. [2018-11-14 18:50:27,961 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 174 transitions. [2018-11-14 18:50:27,962 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:27,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:27,962 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 153 states. [2018-11-14 18:50:27,962 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 153 states. [2018-11-14 18:50:27,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:50:27,967 INFO L93 Difference]: Finished difference Result 153 states and 174 transitions. [2018-11-14 18:50:27,967 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 174 transitions. [2018-11-14 18:50:27,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:50:27,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:50:27,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:50:27,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:50:27,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 124 states. [2018-11-14 18:50:27,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 144 transitions. [2018-11-14 18:50:27,972 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 144 transitions. Word has length 139 [2018-11-14 18:50:27,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:50:27,973 INFO L480 AbstractCegarLoop]: Abstraction has 124 states and 144 transitions. [2018-11-14 18:50:27,973 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-14 18:50:27,973 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 144 transitions. [2018-11-14 18:50:27,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 140 [2018-11-14 18:50:27,975 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:50:27,975 INFO L375 BasicCegarLoop]: trace histogram [18, 15, 15, 15, 14, 6, 5, 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, 1] [2018-11-14 18:50:27,975 INFO L423 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:50:27,975 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:50:27,975 INFO L82 PathProgramCache]: Analyzing trace with hash 1711529097, now seen corresponding path program 1 times [2018-11-14 18:50:27,976 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 18:50:27,976 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 18:50:27,976 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:27,977 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-14 18:50:27,977 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 18:50:28,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:50:29,436 WARN L179 SmtUtils]: Spent 444.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 12 [2018-11-14 18:50:30,902 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: must not be argument of unary minus + at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:111) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:128) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.lambda$0(UltimateNormalFormUtils.java:151) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker$MyWalker.walk(SubtermPropertyChecker.java:63) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SubtermPropertyChecker.isPropertySatisfied(SubtermPropertyChecker.java:121) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.respectsUltimateNormalForm(UltimateNormalFormUtils.java:152) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.BasicPredicateFactory.newPredicate(BasicPredicateFactory.java:103) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.constructNewPredicate(PredicateUnifier.java:375) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:361) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:299) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.computePredicates(NestedInterpolantsBuilder.java:592) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.NestedInterpolantsBuilder.(NestedInterpolantsBuilder.java:170) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolantsTree(InterpolatingTraceCheckCraig.java:271) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.computeInterpolants(InterpolatingTraceCheckCraig.java:207) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:109) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructCraig(TraceCheckConstructor.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:183) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:429) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:312) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:123) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-14 18:50:30,907 INFO L168 Benchmark]: Toolchain (without parser) took 21651.62 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.0 GB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -528.1 MB). Peak memory consumption was 503.7 MB. Max. memory is 7.1 GB. [2018-11-14 18:50:30,909 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 18:50:30,909 INFO L168 Benchmark]: CACSL2BoogieTranslator took 357.29 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-14 18:50:30,910 INFO L168 Benchmark]: Boogie Preprocessor took 62.38 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-14 18:50:30,910 INFO L168 Benchmark]: RCFGBuilder took 836.95 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 742.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -775.6 MB). Peak memory consumption was 26.4 MB. Max. memory is 7.1 GB. [2018-11-14 18:50:30,911 INFO L168 Benchmark]: TraceAbstraction took 20390.27 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 289.4 MB). Free memory was 2.2 GB in the beginning and 2.0 GB in the end (delta: 237.0 MB). Peak memory consumption was 526.4 MB. Max. memory is 7.1 GB. [2018-11-14 18:50:30,914 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 357.29 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 62.38 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 836.95 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 742.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -775.6 MB). Peak memory consumption was 26.4 MB. Max. memory is 7.1 GB. * TraceAbstraction took 20390.27 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 289.4 MB). Free memory was 2.2 GB in the beginning and 2.0 GB in the end (delta: 237.0 MB). Peak memory consumption was 526.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: must not be argument of unary minus + de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: must not be argument of unary minus +: de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.UltimateNormalFormUtils.rootRespectsUltimateNormalForm(UltimateNormalFormUtils.java:111) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...