java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf -i ../../../trunk/examples/svcomp/reducercommutativity/max20_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:21:24,223 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:21:24,226 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:21:24,240 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:21:24,240 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:21:24,241 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:21:24,243 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:21:24,245 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:21:24,247 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:21:24,248 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:21:24,249 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:21:24,249 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:21:24,250 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:21:24,251 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:21:24,252 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:21:24,253 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:21:24,254 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:21:24,256 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:21:24,258 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:21:24,260 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:21:24,261 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:21:24,263 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:21:24,265 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:21:24,266 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:21:24,266 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:21:24,267 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:21:24,268 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:21:24,269 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:21:24,270 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:21:24,271 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:21:24,272 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:21:24,273 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:21:24,273 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:21:24,273 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:21:24,274 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:21:24,275 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:21:24,275 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector.epf [2018-11-23 10:21:24,299 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:21:24,299 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:21:24,301 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:21:24,301 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:21:24,302 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:21:24,302 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:21:24,302 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:21:24,302 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:21:24,303 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:21:24,306 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:21:24,306 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:21:24,306 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:21:24,306 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:21:24,307 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:21:24,307 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:21:24,307 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:21:24,307 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:21:24,307 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:21:24,309 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:21:24,309 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:21:24,309 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:21:24,310 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:21:24,310 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:21:24,310 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:21:24,310 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:21:24,310 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:21:24,311 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:21:24,311 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:21:24,311 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:21:24,312 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:21:24,312 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:21:24,312 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:21:24,312 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:21:24,378 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:21:24,397 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:21:24,402 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:21:24,403 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:21:24,404 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:21:24,405 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/max20_true-unreach-call.i [2018-11-23 10:21:24,478 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/88edee460/bd836645b8e047f0a08ce89912eede1b/FLAGd9838b24e [2018-11-23 10:21:24,990 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:21:24,990 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/max20_true-unreach-call.i [2018-11-23 10:21:24,998 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/88edee460/bd836645b8e047f0a08ce89912eede1b/FLAGd9838b24e [2018-11-23 10:21:25,333 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/88edee460/bd836645b8e047f0a08ce89912eede1b [2018-11-23 10:21:25,347 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:21:25,349 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:21:25,350 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:21:25,351 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:21:25,357 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:21:25,359 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,363 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@13f6185c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25, skipping insertion in model container [2018-11-23 10:21:25,363 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,374 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:21:25,396 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:21:25,621 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:21:25,640 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:21:25,676 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:21:25,695 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:21:25,695 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25 WrapperNode [2018-11-23 10:21:25,695 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:21:25,696 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:21:25,697 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:21:25,697 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:21:25,706 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,717 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,725 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:21:25,726 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:21:25,726 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:21:25,726 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:21:25,734 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,735 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,738 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,738 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,754 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,762 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,764 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... [2018-11-23 10:21:25,767 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:21:25,767 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:21:25,768 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:21:25,768 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:21:25,769 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:21:25,908 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:21:25,908 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:21:25,909 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:21:25,909 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:21:25,909 INFO L130 BoogieDeclarations]: Found specification of procedure max [2018-11-23 10:21:25,909 INFO L138 BoogieDeclarations]: Found implementation of procedure max [2018-11-23 10:21:25,909 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:21:25,909 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:21:25,910 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:21:25,910 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:21:25,910 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:21:25,910 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:21:26,586 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:21:26,587 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 10:21:26,587 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:21:26 BoogieIcfgContainer [2018-11-23 10:21:26,588 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:21:26,589 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:21:26,589 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:21:26,592 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:21:26,593 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:21:25" (1/3) ... [2018-11-23 10:21:26,594 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@67d24f10 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:21:26, skipping insertion in model container [2018-11-23 10:21:26,594 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:21:25" (2/3) ... [2018-11-23 10:21:26,594 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@67d24f10 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:21:26, skipping insertion in model container [2018-11-23 10:21:26,595 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:21:26" (3/3) ... [2018-11-23 10:21:26,596 INFO L112 eAbstractionObserver]: Analyzing ICFG max20_true-unreach-call.i [2018-11-23 10:21:26,607 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:21:26,616 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:21:26,635 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:21:26,670 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:21:26,671 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:21:26,671 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:21:26,671 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:21:26,673 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:21:26,673 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:21:26,673 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:21:26,674 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:21:26,674 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:21:26,693 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states. [2018-11-23 10:21:26,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:21:26,703 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:26,705 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:26,708 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:26,713 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:26,714 INFO L82 PathProgramCache]: Analyzing trace with hash 1379671032, now seen corresponding path program 1 times [2018-11-23 10:21:26,718 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:26,719 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:26,739 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:21:26,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:26,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:26,847 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:27,163 INFO L256 TraceCheckUtils]: 0: Hoare triple {36#true} call ULTIMATE.init(); {36#true} is VALID [2018-11-23 10:21:27,167 INFO L273 TraceCheckUtils]: 1: Hoare triple {36#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {36#true} is VALID [2018-11-23 10:21:27,168 INFO L273 TraceCheckUtils]: 2: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-23 10:21:27,169 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36#true} {36#true} #73#return; {36#true} is VALID [2018-11-23 10:21:27,169 INFO L256 TraceCheckUtils]: 4: Hoare triple {36#true} call #t~ret14 := main(); {36#true} is VALID [2018-11-23 10:21:27,169 INFO L273 TraceCheckUtils]: 5: Hoare triple {36#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {36#true} is VALID [2018-11-23 10:21:27,169 INFO L273 TraceCheckUtils]: 6: Hoare triple {36#true} assume !~bvslt32(~i~1, 20bv32); {36#true} is VALID [2018-11-23 10:21:27,170 INFO L256 TraceCheckUtils]: 7: Hoare triple {36#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {36#true} is VALID [2018-11-23 10:21:27,170 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {36#true} is VALID [2018-11-23 10:21:27,171 INFO L273 TraceCheckUtils]: 9: Hoare triple {36#true} assume !true; {37#false} is VALID [2018-11-23 10:21:27,171 INFO L273 TraceCheckUtils]: 10: Hoare triple {37#false} #res := ~ret~0[32:0]; {37#false} is VALID [2018-11-23 10:21:27,171 INFO L273 TraceCheckUtils]: 11: Hoare triple {37#false} assume true; {37#false} is VALID [2018-11-23 10:21:27,172 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {37#false} {36#true} #77#return; {37#false} is VALID [2018-11-23 10:21:27,172 INFO L273 TraceCheckUtils]: 13: Hoare triple {37#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {37#false} is VALID [2018-11-23 10:21:27,172 INFO L256 TraceCheckUtils]: 14: Hoare triple {37#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {37#false} is VALID [2018-11-23 10:21:27,173 INFO L273 TraceCheckUtils]: 15: Hoare triple {37#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {37#false} is VALID [2018-11-23 10:21:27,173 INFO L273 TraceCheckUtils]: 16: Hoare triple {37#false} assume !true; {37#false} is VALID [2018-11-23 10:21:27,174 INFO L273 TraceCheckUtils]: 17: Hoare triple {37#false} #res := ~ret~0[32:0]; {37#false} is VALID [2018-11-23 10:21:27,174 INFO L273 TraceCheckUtils]: 18: Hoare triple {37#false} assume true; {37#false} is VALID [2018-11-23 10:21:27,175 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {37#false} {37#false} #79#return; {37#false} is VALID [2018-11-23 10:21:27,175 INFO L273 TraceCheckUtils]: 20: Hoare triple {37#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {37#false} is VALID [2018-11-23 10:21:27,175 INFO L273 TraceCheckUtils]: 21: Hoare triple {37#false} assume !~bvslt32(~i~2, 19bv32); {37#false} is VALID [2018-11-23 10:21:27,176 INFO L273 TraceCheckUtils]: 22: Hoare triple {37#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {37#false} is VALID [2018-11-23 10:21:27,176 INFO L256 TraceCheckUtils]: 23: Hoare triple {37#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {37#false} is VALID [2018-11-23 10:21:27,176 INFO L273 TraceCheckUtils]: 24: Hoare triple {37#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {37#false} is VALID [2018-11-23 10:21:27,177 INFO L273 TraceCheckUtils]: 25: Hoare triple {37#false} assume !true; {37#false} is VALID [2018-11-23 10:21:27,177 INFO L273 TraceCheckUtils]: 26: Hoare triple {37#false} #res := ~ret~0[32:0]; {37#false} is VALID [2018-11-23 10:21:27,177 INFO L273 TraceCheckUtils]: 27: Hoare triple {37#false} assume true; {37#false} is VALID [2018-11-23 10:21:27,178 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {37#false} {37#false} #81#return; {37#false} is VALID [2018-11-23 10:21:27,178 INFO L273 TraceCheckUtils]: 29: Hoare triple {37#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {37#false} is VALID [2018-11-23 10:21:27,178 INFO L273 TraceCheckUtils]: 30: Hoare triple {37#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {37#false} is VALID [2018-11-23 10:21:27,179 INFO L273 TraceCheckUtils]: 31: Hoare triple {37#false} assume !false; {37#false} is VALID [2018-11-23 10:21:27,186 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2018-11-23 10:21:27,186 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:21:27,200 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:21:27,200 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:21:27,209 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 10:21:27,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:27,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:21:27,289 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:27,289 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:21:27,297 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:21:27,298 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:21:27,300 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 2 states. [2018-11-23 10:21:27,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:27,529 INFO L93 Difference]: Finished difference Result 58 states and 77 transitions. [2018-11-23 10:21:27,530 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:21:27,530 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 10:21:27,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:27,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:21:27,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 77 transitions. [2018-11-23 10:21:27,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:21:27,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 77 transitions. [2018-11-23 10:21:27,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 77 transitions. [2018-11-23 10:21:27,849 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:27,869 INFO L225 Difference]: With dead ends: 58 [2018-11-23 10:21:27,869 INFO L226 Difference]: Without dead ends: 28 [2018-11-23 10:21:27,878 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:21:27,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-23 10:21:28,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2018-11-23 10:21:28,069 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:28,071 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 28 states. [2018-11-23 10:21:28,071 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 28 states. [2018-11-23 10:21:28,072 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 28 states. [2018-11-23 10:21:28,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:28,092 INFO L93 Difference]: Finished difference Result 28 states and 33 transitions. [2018-11-23 10:21:28,092 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 10:21:28,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:28,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:28,097 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 28 states. [2018-11-23 10:21:28,097 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 28 states. [2018-11-23 10:21:28,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:28,111 INFO L93 Difference]: Finished difference Result 28 states and 33 transitions. [2018-11-23 10:21:28,111 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 10:21:28,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:28,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:28,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:28,114 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:28,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 10:21:28,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2018-11-23 10:21:28,121 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 32 [2018-11-23 10:21:28,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:28,121 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2018-11-23 10:21:28,121 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:21:28,122 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 10:21:28,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:21:28,123 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:28,124 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:28,124 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:28,125 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:28,125 INFO L82 PathProgramCache]: Analyzing trace with hash 1771965707, now seen corresponding path program 1 times [2018-11-23 10:21:28,125 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:28,126 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:28,155 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:21:28,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:28,235 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:28,237 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:28,655 INFO L256 TraceCheckUtils]: 0: Hoare triple {303#true} call ULTIMATE.init(); {303#true} is VALID [2018-11-23 10:21:28,656 INFO L273 TraceCheckUtils]: 1: Hoare triple {303#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {303#true} is VALID [2018-11-23 10:21:28,656 INFO L273 TraceCheckUtils]: 2: Hoare triple {303#true} assume true; {303#true} is VALID [2018-11-23 10:21:28,657 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {303#true} {303#true} #73#return; {303#true} is VALID [2018-11-23 10:21:28,657 INFO L256 TraceCheckUtils]: 4: Hoare triple {303#true} call #t~ret14 := main(); {303#true} is VALID [2018-11-23 10:21:28,659 INFO L273 TraceCheckUtils]: 5: Hoare triple {303#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {323#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:28,659 INFO L273 TraceCheckUtils]: 6: Hoare triple {323#(= main_~i~1 (_ bv0 32))} assume !~bvslt32(~i~1, 20bv32); {304#false} is VALID [2018-11-23 10:21:28,660 INFO L256 TraceCheckUtils]: 7: Hoare triple {304#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {304#false} is VALID [2018-11-23 10:21:28,660 INFO L273 TraceCheckUtils]: 8: Hoare triple {304#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {304#false} is VALID [2018-11-23 10:21:28,660 INFO L273 TraceCheckUtils]: 9: Hoare triple {304#false} assume !~bvslt32(~i~0, 20bv32); {304#false} is VALID [2018-11-23 10:21:28,661 INFO L273 TraceCheckUtils]: 10: Hoare triple {304#false} #res := ~ret~0[32:0]; {304#false} is VALID [2018-11-23 10:21:28,661 INFO L273 TraceCheckUtils]: 11: Hoare triple {304#false} assume true; {304#false} is VALID [2018-11-23 10:21:28,661 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {304#false} {304#false} #77#return; {304#false} is VALID [2018-11-23 10:21:28,661 INFO L273 TraceCheckUtils]: 13: Hoare triple {304#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {304#false} is VALID [2018-11-23 10:21:28,662 INFO L256 TraceCheckUtils]: 14: Hoare triple {304#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {304#false} is VALID [2018-11-23 10:21:28,662 INFO L273 TraceCheckUtils]: 15: Hoare triple {304#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {304#false} is VALID [2018-11-23 10:21:28,662 INFO L273 TraceCheckUtils]: 16: Hoare triple {304#false} assume !~bvslt32(~i~0, 20bv32); {304#false} is VALID [2018-11-23 10:21:28,662 INFO L273 TraceCheckUtils]: 17: Hoare triple {304#false} #res := ~ret~0[32:0]; {304#false} is VALID [2018-11-23 10:21:28,663 INFO L273 TraceCheckUtils]: 18: Hoare triple {304#false} assume true; {304#false} is VALID [2018-11-23 10:21:28,663 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {304#false} {304#false} #79#return; {304#false} is VALID [2018-11-23 10:21:28,664 INFO L273 TraceCheckUtils]: 20: Hoare triple {304#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {304#false} is VALID [2018-11-23 10:21:28,665 INFO L273 TraceCheckUtils]: 21: Hoare triple {304#false} assume !~bvslt32(~i~2, 19bv32); {304#false} is VALID [2018-11-23 10:21:28,665 INFO L273 TraceCheckUtils]: 22: Hoare triple {304#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {304#false} is VALID [2018-11-23 10:21:28,666 INFO L256 TraceCheckUtils]: 23: Hoare triple {304#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {304#false} is VALID [2018-11-23 10:21:28,666 INFO L273 TraceCheckUtils]: 24: Hoare triple {304#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {304#false} is VALID [2018-11-23 10:21:28,666 INFO L273 TraceCheckUtils]: 25: Hoare triple {304#false} assume !~bvslt32(~i~0, 20bv32); {304#false} is VALID [2018-11-23 10:21:28,667 INFO L273 TraceCheckUtils]: 26: Hoare triple {304#false} #res := ~ret~0[32:0]; {304#false} is VALID [2018-11-23 10:21:28,667 INFO L273 TraceCheckUtils]: 27: Hoare triple {304#false} assume true; {304#false} is VALID [2018-11-23 10:21:28,667 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {304#false} {304#false} #81#return; {304#false} is VALID [2018-11-23 10:21:28,668 INFO L273 TraceCheckUtils]: 29: Hoare triple {304#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {304#false} is VALID [2018-11-23 10:21:28,668 INFO L273 TraceCheckUtils]: 30: Hoare triple {304#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {304#false} is VALID [2018-11-23 10:21:28,668 INFO L273 TraceCheckUtils]: 31: Hoare triple {304#false} assume !false; {304#false} is VALID [2018-11-23 10:21:28,670 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 10:21:28,671 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:21:28,673 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:21:28,673 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:21:28,674 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 10:21:28,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:28,676 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:21:28,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:28,735 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:21:28,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:21:28,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:28,735 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand 3 states. [2018-11-23 10:21:29,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:29,007 INFO L93 Difference]: Finished difference Result 50 states and 60 transitions. [2018-11-23 10:21:29,007 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:21:29,008 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 10:21:29,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:29,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:29,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 10:21:29,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:29,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2018-11-23 10:21:29,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 60 transitions. [2018-11-23 10:21:29,195 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:29,200 INFO L225 Difference]: With dead ends: 50 [2018-11-23 10:21:29,200 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 10:21:29,202 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:29,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 10:21:29,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 29. [2018-11-23 10:21:29,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:29,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 29 states. [2018-11-23 10:21:29,219 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 29 states. [2018-11-23 10:21:29,219 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 29 states. [2018-11-23 10:21:29,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:29,223 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-23 10:21:29,223 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-23 10:21:29,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:29,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:29,224 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 30 states. [2018-11-23 10:21:29,225 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 30 states. [2018-11-23 10:21:29,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:29,228 INFO L93 Difference]: Finished difference Result 30 states and 35 transitions. [2018-11-23 10:21:29,228 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2018-11-23 10:21:29,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:29,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:29,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:29,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:29,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:21:29,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 34 transitions. [2018-11-23 10:21:29,233 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 34 transitions. Word has length 32 [2018-11-23 10:21:29,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:29,233 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 34 transitions. [2018-11-23 10:21:29,233 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:21:29,234 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 10:21:29,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:21:29,235 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:29,235 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:29,236 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:29,236 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:29,236 INFO L82 PathProgramCache]: Analyzing trace with hash 551744077, now seen corresponding path program 1 times [2018-11-23 10:21:29,237 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:29,237 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:29,259 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:21:29,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:29,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:29,330 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:29,434 INFO L256 TraceCheckUtils]: 0: Hoare triple {570#true} call ULTIMATE.init(); {570#true} is VALID [2018-11-23 10:21:29,434 INFO L273 TraceCheckUtils]: 1: Hoare triple {570#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {570#true} is VALID [2018-11-23 10:21:29,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {570#true} assume true; {570#true} is VALID [2018-11-23 10:21:29,435 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {570#true} {570#true} #73#return; {570#true} is VALID [2018-11-23 10:21:29,435 INFO L256 TraceCheckUtils]: 4: Hoare triple {570#true} call #t~ret14 := main(); {570#true} is VALID [2018-11-23 10:21:29,436 INFO L273 TraceCheckUtils]: 5: Hoare triple {570#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {590#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:29,437 INFO L273 TraceCheckUtils]: 6: Hoare triple {590#(= main_~i~1 (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {590#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:29,451 INFO L273 TraceCheckUtils]: 7: Hoare triple {590#(= main_~i~1 (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {597#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:29,453 INFO L273 TraceCheckUtils]: 8: Hoare triple {597#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvslt32(~i~1, 20bv32); {571#false} is VALID [2018-11-23 10:21:29,453 INFO L256 TraceCheckUtils]: 9: Hoare triple {571#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {571#false} is VALID [2018-11-23 10:21:29,453 INFO L273 TraceCheckUtils]: 10: Hoare triple {571#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {571#false} is VALID [2018-11-23 10:21:29,454 INFO L273 TraceCheckUtils]: 11: Hoare triple {571#false} assume !~bvslt32(~i~0, 20bv32); {571#false} is VALID [2018-11-23 10:21:29,454 INFO L273 TraceCheckUtils]: 12: Hoare triple {571#false} #res := ~ret~0[32:0]; {571#false} is VALID [2018-11-23 10:21:29,454 INFO L273 TraceCheckUtils]: 13: Hoare triple {571#false} assume true; {571#false} is VALID [2018-11-23 10:21:29,455 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {571#false} {571#false} #77#return; {571#false} is VALID [2018-11-23 10:21:29,455 INFO L273 TraceCheckUtils]: 15: Hoare triple {571#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {571#false} is VALID [2018-11-23 10:21:29,456 INFO L256 TraceCheckUtils]: 16: Hoare triple {571#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {571#false} is VALID [2018-11-23 10:21:29,456 INFO L273 TraceCheckUtils]: 17: Hoare triple {571#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {571#false} is VALID [2018-11-23 10:21:29,457 INFO L273 TraceCheckUtils]: 18: Hoare triple {571#false} assume !~bvslt32(~i~0, 20bv32); {571#false} is VALID [2018-11-23 10:21:29,457 INFO L273 TraceCheckUtils]: 19: Hoare triple {571#false} #res := ~ret~0[32:0]; {571#false} is VALID [2018-11-23 10:21:29,458 INFO L273 TraceCheckUtils]: 20: Hoare triple {571#false} assume true; {571#false} is VALID [2018-11-23 10:21:29,458 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {571#false} {571#false} #79#return; {571#false} is VALID [2018-11-23 10:21:29,458 INFO L273 TraceCheckUtils]: 22: Hoare triple {571#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {571#false} is VALID [2018-11-23 10:21:29,459 INFO L273 TraceCheckUtils]: 23: Hoare triple {571#false} assume !~bvslt32(~i~2, 19bv32); {571#false} is VALID [2018-11-23 10:21:29,459 INFO L273 TraceCheckUtils]: 24: Hoare triple {571#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {571#false} is VALID [2018-11-23 10:21:29,459 INFO L256 TraceCheckUtils]: 25: Hoare triple {571#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {571#false} is VALID [2018-11-23 10:21:29,460 INFO L273 TraceCheckUtils]: 26: Hoare triple {571#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {571#false} is VALID [2018-11-23 10:21:29,460 INFO L273 TraceCheckUtils]: 27: Hoare triple {571#false} assume !~bvslt32(~i~0, 20bv32); {571#false} is VALID [2018-11-23 10:21:29,460 INFO L273 TraceCheckUtils]: 28: Hoare triple {571#false} #res := ~ret~0[32:0]; {571#false} is VALID [2018-11-23 10:21:29,461 INFO L273 TraceCheckUtils]: 29: Hoare triple {571#false} assume true; {571#false} is VALID [2018-11-23 10:21:29,461 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {571#false} {571#false} #81#return; {571#false} is VALID [2018-11-23 10:21:29,461 INFO L273 TraceCheckUtils]: 31: Hoare triple {571#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {571#false} is VALID [2018-11-23 10:21:29,462 INFO L273 TraceCheckUtils]: 32: Hoare triple {571#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {571#false} is VALID [2018-11-23 10:21:29,462 INFO L273 TraceCheckUtils]: 33: Hoare triple {571#false} assume !false; {571#false} is VALID [2018-11-23 10:21:29,464 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 10:21:29,464 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:29,670 INFO L273 TraceCheckUtils]: 33: Hoare triple {571#false} assume !false; {571#false} is VALID [2018-11-23 10:21:29,671 INFO L273 TraceCheckUtils]: 32: Hoare triple {571#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {571#false} is VALID [2018-11-23 10:21:29,671 INFO L273 TraceCheckUtils]: 31: Hoare triple {571#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {571#false} is VALID [2018-11-23 10:21:29,672 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {570#true} {571#false} #81#return; {571#false} is VALID [2018-11-23 10:21:29,672 INFO L273 TraceCheckUtils]: 29: Hoare triple {570#true} assume true; {570#true} is VALID [2018-11-23 10:21:29,673 INFO L273 TraceCheckUtils]: 28: Hoare triple {570#true} #res := ~ret~0[32:0]; {570#true} is VALID [2018-11-23 10:21:29,673 INFO L273 TraceCheckUtils]: 27: Hoare triple {570#true} assume !~bvslt32(~i~0, 20bv32); {570#true} is VALID [2018-11-23 10:21:29,674 INFO L273 TraceCheckUtils]: 26: Hoare triple {570#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {570#true} is VALID [2018-11-23 10:21:29,674 INFO L256 TraceCheckUtils]: 25: Hoare triple {571#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {570#true} is VALID [2018-11-23 10:21:29,674 INFO L273 TraceCheckUtils]: 24: Hoare triple {571#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {571#false} is VALID [2018-11-23 10:21:29,675 INFO L273 TraceCheckUtils]: 23: Hoare triple {571#false} assume !~bvslt32(~i~2, 19bv32); {571#false} is VALID [2018-11-23 10:21:29,675 INFO L273 TraceCheckUtils]: 22: Hoare triple {571#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {571#false} is VALID [2018-11-23 10:21:29,675 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {570#true} {571#false} #79#return; {571#false} is VALID [2018-11-23 10:21:29,676 INFO L273 TraceCheckUtils]: 20: Hoare triple {570#true} assume true; {570#true} is VALID [2018-11-23 10:21:29,676 INFO L273 TraceCheckUtils]: 19: Hoare triple {570#true} #res := ~ret~0[32:0]; {570#true} is VALID [2018-11-23 10:21:29,676 INFO L273 TraceCheckUtils]: 18: Hoare triple {570#true} assume !~bvslt32(~i~0, 20bv32); {570#true} is VALID [2018-11-23 10:21:29,677 INFO L273 TraceCheckUtils]: 17: Hoare triple {570#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {570#true} is VALID [2018-11-23 10:21:29,677 INFO L256 TraceCheckUtils]: 16: Hoare triple {571#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {570#true} is VALID [2018-11-23 10:21:29,677 INFO L273 TraceCheckUtils]: 15: Hoare triple {571#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {571#false} is VALID [2018-11-23 10:21:29,677 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {570#true} {571#false} #77#return; {571#false} is VALID [2018-11-23 10:21:29,678 INFO L273 TraceCheckUtils]: 13: Hoare triple {570#true} assume true; {570#true} is VALID [2018-11-23 10:21:29,678 INFO L273 TraceCheckUtils]: 12: Hoare triple {570#true} #res := ~ret~0[32:0]; {570#true} is VALID [2018-11-23 10:21:29,678 INFO L273 TraceCheckUtils]: 11: Hoare triple {570#true} assume !~bvslt32(~i~0, 20bv32); {570#true} is VALID [2018-11-23 10:21:29,679 INFO L273 TraceCheckUtils]: 10: Hoare triple {570#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {570#true} is VALID [2018-11-23 10:21:29,679 INFO L256 TraceCheckUtils]: 9: Hoare triple {571#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {570#true} is VALID [2018-11-23 10:21:29,688 INFO L273 TraceCheckUtils]: 8: Hoare triple {751#(bvslt main_~i~1 (_ bv20 32))} assume !~bvslt32(~i~1, 20bv32); {571#false} is VALID [2018-11-23 10:21:29,691 INFO L273 TraceCheckUtils]: 7: Hoare triple {755#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {751#(bvslt main_~i~1 (_ bv20 32))} is VALID [2018-11-23 10:21:29,693 INFO L273 TraceCheckUtils]: 6: Hoare triple {755#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {755#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:29,708 INFO L273 TraceCheckUtils]: 5: Hoare triple {570#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {755#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:29,709 INFO L256 TraceCheckUtils]: 4: Hoare triple {570#true} call #t~ret14 := main(); {570#true} is VALID [2018-11-23 10:21:29,709 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {570#true} {570#true} #73#return; {570#true} is VALID [2018-11-23 10:21:29,709 INFO L273 TraceCheckUtils]: 2: Hoare triple {570#true} assume true; {570#true} is VALID [2018-11-23 10:21:29,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {570#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {570#true} is VALID [2018-11-23 10:21:29,710 INFO L256 TraceCheckUtils]: 0: Hoare triple {570#true} call ULTIMATE.init(); {570#true} is VALID [2018-11-23 10:21:29,712 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2018-11-23 10:21:29,714 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:29,714 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:21:29,715 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 34 [2018-11-23 10:21:29,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:29,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:21:29,793 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:29,793 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:21:29,793 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:21:29,794 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:21:29,794 INFO L87 Difference]: Start difference. First operand 29 states and 34 transitions. Second operand 6 states. [2018-11-23 10:21:30,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,109 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2018-11-23 10:21:30,109 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:21:30,110 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 34 [2018-11-23 10:21:30,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:30,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:30,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-11-23 10:21:30,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:30,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-11-23 10:21:30,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2018-11-23 10:21:30,246 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:30,249 INFO L225 Difference]: With dead ends: 55 [2018-11-23 10:21:30,249 INFO L226 Difference]: Without dead ends: 35 [2018-11-23 10:21:30,250 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 10:21:30,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2018-11-23 10:21:30,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2018-11-23 10:21:30,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:30,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand 35 states. [2018-11-23 10:21:30,267 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-23 10:21:30,267 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-23 10:21:30,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,270 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 10:21:30,270 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 10:21:30,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:30,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:30,271 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 35 states. [2018-11-23 10:21:30,272 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 35 states. [2018-11-23 10:21:30,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,274 INFO L93 Difference]: Finished difference Result 35 states and 40 transitions. [2018-11-23 10:21:30,275 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 10:21:30,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:30,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:30,276 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:30,276 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:30,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 10:21:30,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 40 transitions. [2018-11-23 10:21:30,279 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 40 transitions. Word has length 34 [2018-11-23 10:21:30,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:30,279 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 40 transitions. [2018-11-23 10:21:30,279 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:21:30,279 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 10:21:30,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 10:21:30,281 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:30,281 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:30,282 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:30,282 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:30,282 INFO L82 PathProgramCache]: Analyzing trace with hash -116363501, now seen corresponding path program 2 times [2018-11-23 10:21:30,282 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:30,283 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:30,302 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:21:30,344 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:21:30,344 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:30,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:30,366 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:30,444 INFO L256 TraceCheckUtils]: 0: Hoare triple {977#true} call ULTIMATE.init(); {977#true} is VALID [2018-11-23 10:21:30,444 INFO L273 TraceCheckUtils]: 1: Hoare triple {977#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {977#true} is VALID [2018-11-23 10:21:30,445 INFO L273 TraceCheckUtils]: 2: Hoare triple {977#true} assume true; {977#true} is VALID [2018-11-23 10:21:30,445 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {977#true} {977#true} #73#return; {977#true} is VALID [2018-11-23 10:21:30,446 INFO L256 TraceCheckUtils]: 4: Hoare triple {977#true} call #t~ret14 := main(); {977#true} is VALID [2018-11-23 10:21:30,446 INFO L273 TraceCheckUtils]: 5: Hoare triple {977#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {977#true} is VALID [2018-11-23 10:21:30,446 INFO L273 TraceCheckUtils]: 6: Hoare triple {977#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {977#true} is VALID [2018-11-23 10:21:30,446 INFO L273 TraceCheckUtils]: 7: Hoare triple {977#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {977#true} is VALID [2018-11-23 10:21:30,447 INFO L273 TraceCheckUtils]: 8: Hoare triple {977#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {977#true} is VALID [2018-11-23 10:21:30,447 INFO L273 TraceCheckUtils]: 9: Hoare triple {977#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {977#true} is VALID [2018-11-23 10:21:30,447 INFO L273 TraceCheckUtils]: 10: Hoare triple {977#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {977#true} is VALID [2018-11-23 10:21:30,447 INFO L273 TraceCheckUtils]: 11: Hoare triple {977#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {977#true} is VALID [2018-11-23 10:21:30,448 INFO L273 TraceCheckUtils]: 12: Hoare triple {977#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {977#true} is VALID [2018-11-23 10:21:30,448 INFO L273 TraceCheckUtils]: 13: Hoare triple {977#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {977#true} is VALID [2018-11-23 10:21:30,448 INFO L273 TraceCheckUtils]: 14: Hoare triple {977#true} assume !~bvslt32(~i~1, 20bv32); {977#true} is VALID [2018-11-23 10:21:30,448 INFO L256 TraceCheckUtils]: 15: Hoare triple {977#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {977#true} is VALID [2018-11-23 10:21:30,449 INFO L273 TraceCheckUtils]: 16: Hoare triple {977#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {977#true} is VALID [2018-11-23 10:21:30,449 INFO L273 TraceCheckUtils]: 17: Hoare triple {977#true} assume !~bvslt32(~i~0, 20bv32); {977#true} is VALID [2018-11-23 10:21:30,449 INFO L273 TraceCheckUtils]: 18: Hoare triple {977#true} #res := ~ret~0[32:0]; {977#true} is VALID [2018-11-23 10:21:30,450 INFO L273 TraceCheckUtils]: 19: Hoare triple {977#true} assume true; {977#true} is VALID [2018-11-23 10:21:30,450 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {977#true} {977#true} #77#return; {977#true} is VALID [2018-11-23 10:21:30,450 INFO L273 TraceCheckUtils]: 21: Hoare triple {977#true} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {977#true} is VALID [2018-11-23 10:21:30,451 INFO L256 TraceCheckUtils]: 22: Hoare triple {977#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {977#true} is VALID [2018-11-23 10:21:30,451 INFO L273 TraceCheckUtils]: 23: Hoare triple {977#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {977#true} is VALID [2018-11-23 10:21:30,451 INFO L273 TraceCheckUtils]: 24: Hoare triple {977#true} assume !~bvslt32(~i~0, 20bv32); {977#true} is VALID [2018-11-23 10:21:30,451 INFO L273 TraceCheckUtils]: 25: Hoare triple {977#true} #res := ~ret~0[32:0]; {977#true} is VALID [2018-11-23 10:21:30,452 INFO L273 TraceCheckUtils]: 26: Hoare triple {977#true} assume true; {977#true} is VALID [2018-11-23 10:21:30,452 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {977#true} {977#true} #79#return; {977#true} is VALID [2018-11-23 10:21:30,452 INFO L273 TraceCheckUtils]: 28: Hoare triple {977#true} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {977#true} is VALID [2018-11-23 10:21:30,453 INFO L273 TraceCheckUtils]: 29: Hoare triple {977#true} assume !~bvslt32(~i~2, 19bv32); {977#true} is VALID [2018-11-23 10:21:30,453 INFO L273 TraceCheckUtils]: 30: Hoare triple {977#true} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {977#true} is VALID [2018-11-23 10:21:30,453 INFO L256 TraceCheckUtils]: 31: Hoare triple {977#true} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {977#true} is VALID [2018-11-23 10:21:30,458 INFO L273 TraceCheckUtils]: 32: Hoare triple {977#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1078#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:30,458 INFO L273 TraceCheckUtils]: 33: Hoare triple {1078#(= (_ bv0 32) max_~i~0)} assume !~bvslt32(~i~0, 20bv32); {978#false} is VALID [2018-11-23 10:21:30,459 INFO L273 TraceCheckUtils]: 34: Hoare triple {978#false} #res := ~ret~0[32:0]; {978#false} is VALID [2018-11-23 10:21:30,459 INFO L273 TraceCheckUtils]: 35: Hoare triple {978#false} assume true; {978#false} is VALID [2018-11-23 10:21:30,459 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {978#false} {977#true} #81#return; {978#false} is VALID [2018-11-23 10:21:30,459 INFO L273 TraceCheckUtils]: 37: Hoare triple {978#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {978#false} is VALID [2018-11-23 10:21:30,460 INFO L273 TraceCheckUtils]: 38: Hoare triple {978#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {978#false} is VALID [2018-11-23 10:21:30,460 INFO L273 TraceCheckUtils]: 39: Hoare triple {978#false} assume !false; {978#false} is VALID [2018-11-23 10:21:30,462 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2018-11-23 10:21:30,462 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:21:30,464 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:21:30,464 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:21:30,466 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 10:21:30,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:30,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:21:30,520 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:30,520 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:21:30,520 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:21:30,520 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:30,520 INFO L87 Difference]: Start difference. First operand 35 states and 40 transitions. Second operand 3 states. [2018-11-23 10:21:30,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,685 INFO L93 Difference]: Finished difference Result 58 states and 71 transitions. [2018-11-23 10:21:30,685 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:21:30,686 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 10:21:30,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:30,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:30,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-23 10:21:30,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:30,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2018-11-23 10:21:30,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2018-11-23 10:21:30,868 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-23 10:21:30,870 INFO L225 Difference]: With dead ends: 58 [2018-11-23 10:21:30,870 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 10:21:30,871 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:30,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 10:21:30,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 36. [2018-11-23 10:21:30,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:30,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 36 states. [2018-11-23 10:21:30,922 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 36 states. [2018-11-23 10:21:30,923 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 36 states. [2018-11-23 10:21:30,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,926 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2018-11-23 10:21:30,926 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2018-11-23 10:21:30,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:30,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:30,927 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 39 states. [2018-11-23 10:21:30,928 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 39 states. [2018-11-23 10:21:30,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:30,930 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2018-11-23 10:21:30,931 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2018-11-23 10:21:30,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:30,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:30,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:30,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:30,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-11-23 10:21:30,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 41 transitions. [2018-11-23 10:21:30,935 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 41 transitions. Word has length 40 [2018-11-23 10:21:30,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:30,935 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 41 transitions. [2018-11-23 10:21:30,935 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:21:30,935 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2018-11-23 10:21:30,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2018-11-23 10:21:30,937 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:30,937 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:30,938 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:30,938 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:30,938 INFO L82 PathProgramCache]: Analyzing trace with hash 411350190, now seen corresponding path program 1 times [2018-11-23 10:21:30,939 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:30,939 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:30,959 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:21:31,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:31,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:31,065 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:31,198 INFO L256 TraceCheckUtils]: 0: Hoare triple {1308#true} call ULTIMATE.init(); {1308#true} is VALID [2018-11-23 10:21:31,199 INFO L273 TraceCheckUtils]: 1: Hoare triple {1308#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1308#true} is VALID [2018-11-23 10:21:31,199 INFO L273 TraceCheckUtils]: 2: Hoare triple {1308#true} assume true; {1308#true} is VALID [2018-11-23 10:21:31,200 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1308#true} {1308#true} #73#return; {1308#true} is VALID [2018-11-23 10:21:31,200 INFO L256 TraceCheckUtils]: 4: Hoare triple {1308#true} call #t~ret14 := main(); {1308#true} is VALID [2018-11-23 10:21:31,201 INFO L273 TraceCheckUtils]: 5: Hoare triple {1308#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1328#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:31,202 INFO L273 TraceCheckUtils]: 6: Hoare triple {1328#(= main_~i~1 (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1328#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:31,203 INFO L273 TraceCheckUtils]: 7: Hoare triple {1328#(= main_~i~1 (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1335#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,203 INFO L273 TraceCheckUtils]: 8: Hoare triple {1335#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1335#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,204 INFO L273 TraceCheckUtils]: 9: Hoare triple {1335#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1342#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,207 INFO L273 TraceCheckUtils]: 10: Hoare triple {1342#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1342#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,208 INFO L273 TraceCheckUtils]: 11: Hoare triple {1342#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1349#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,209 INFO L273 TraceCheckUtils]: 12: Hoare triple {1349#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1349#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,213 INFO L273 TraceCheckUtils]: 13: Hoare triple {1349#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1356#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:31,214 INFO L273 TraceCheckUtils]: 14: Hoare triple {1356#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !~bvslt32(~i~1, 20bv32); {1309#false} is VALID [2018-11-23 10:21:31,214 INFO L256 TraceCheckUtils]: 15: Hoare triple {1309#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1309#false} is VALID [2018-11-23 10:21:31,214 INFO L273 TraceCheckUtils]: 16: Hoare triple {1309#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1309#false} is VALID [2018-11-23 10:21:31,215 INFO L273 TraceCheckUtils]: 17: Hoare triple {1309#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,215 INFO L273 TraceCheckUtils]: 18: Hoare triple {1309#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1309#false} is VALID [2018-11-23 10:21:31,215 INFO L273 TraceCheckUtils]: 19: Hoare triple {1309#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1309#false} is VALID [2018-11-23 10:21:31,215 INFO L273 TraceCheckUtils]: 20: Hoare triple {1309#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1309#false} is VALID [2018-11-23 10:21:31,216 INFO L273 TraceCheckUtils]: 21: Hoare triple {1309#false} assume !~bvslt32(~i~0, 20bv32); {1309#false} is VALID [2018-11-23 10:21:31,216 INFO L273 TraceCheckUtils]: 22: Hoare triple {1309#false} #res := ~ret~0[32:0]; {1309#false} is VALID [2018-11-23 10:21:31,216 INFO L273 TraceCheckUtils]: 23: Hoare triple {1309#false} assume true; {1309#false} is VALID [2018-11-23 10:21:31,216 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1309#false} {1309#false} #77#return; {1309#false} is VALID [2018-11-23 10:21:31,217 INFO L273 TraceCheckUtils]: 25: Hoare triple {1309#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,217 INFO L256 TraceCheckUtils]: 26: Hoare triple {1309#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1309#false} is VALID [2018-11-23 10:21:31,217 INFO L273 TraceCheckUtils]: 27: Hoare triple {1309#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1309#false} is VALID [2018-11-23 10:21:31,218 INFO L273 TraceCheckUtils]: 28: Hoare triple {1309#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,218 INFO L273 TraceCheckUtils]: 29: Hoare triple {1309#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1309#false} is VALID [2018-11-23 10:21:31,218 INFO L273 TraceCheckUtils]: 30: Hoare triple {1309#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1309#false} is VALID [2018-11-23 10:21:31,218 INFO L273 TraceCheckUtils]: 31: Hoare triple {1309#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1309#false} is VALID [2018-11-23 10:21:31,219 INFO L273 TraceCheckUtils]: 32: Hoare triple {1309#false} assume !~bvslt32(~i~0, 20bv32); {1309#false} is VALID [2018-11-23 10:21:31,219 INFO L273 TraceCheckUtils]: 33: Hoare triple {1309#false} #res := ~ret~0[32:0]; {1309#false} is VALID [2018-11-23 10:21:31,219 INFO L273 TraceCheckUtils]: 34: Hoare triple {1309#false} assume true; {1309#false} is VALID [2018-11-23 10:21:31,220 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1309#false} {1309#false} #79#return; {1309#false} is VALID [2018-11-23 10:21:31,220 INFO L273 TraceCheckUtils]: 36: Hoare triple {1309#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {1309#false} is VALID [2018-11-23 10:21:31,220 INFO L273 TraceCheckUtils]: 37: Hoare triple {1309#false} assume !~bvslt32(~i~2, 19bv32); {1309#false} is VALID [2018-11-23 10:21:31,220 INFO L273 TraceCheckUtils]: 38: Hoare triple {1309#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,221 INFO L256 TraceCheckUtils]: 39: Hoare triple {1309#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1309#false} is VALID [2018-11-23 10:21:31,221 INFO L273 TraceCheckUtils]: 40: Hoare triple {1309#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1309#false} is VALID [2018-11-23 10:21:31,221 INFO L273 TraceCheckUtils]: 41: Hoare triple {1309#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,222 INFO L273 TraceCheckUtils]: 42: Hoare triple {1309#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1309#false} is VALID [2018-11-23 10:21:31,222 INFO L273 TraceCheckUtils]: 43: Hoare triple {1309#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1309#false} is VALID [2018-11-23 10:21:31,222 INFO L273 TraceCheckUtils]: 44: Hoare triple {1309#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1309#false} is VALID [2018-11-23 10:21:31,222 INFO L273 TraceCheckUtils]: 45: Hoare triple {1309#false} assume !~bvslt32(~i~0, 20bv32); {1309#false} is VALID [2018-11-23 10:21:31,223 INFO L273 TraceCheckUtils]: 46: Hoare triple {1309#false} #res := ~ret~0[32:0]; {1309#false} is VALID [2018-11-23 10:21:31,223 INFO L273 TraceCheckUtils]: 47: Hoare triple {1309#false} assume true; {1309#false} is VALID [2018-11-23 10:21:31,223 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {1309#false} {1309#false} #81#return; {1309#false} is VALID [2018-11-23 10:21:31,223 INFO L273 TraceCheckUtils]: 49: Hoare triple {1309#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1309#false} is VALID [2018-11-23 10:21:31,224 INFO L273 TraceCheckUtils]: 50: Hoare triple {1309#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1309#false} is VALID [2018-11-23 10:21:31,224 INFO L273 TraceCheckUtils]: 51: Hoare triple {1309#false} assume !false; {1309#false} is VALID [2018-11-23 10:21:31,228 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2018-11-23 10:21:31,229 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:31,523 INFO L273 TraceCheckUtils]: 51: Hoare triple {1309#false} assume !false; {1309#false} is VALID [2018-11-23 10:21:31,523 INFO L273 TraceCheckUtils]: 50: Hoare triple {1309#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1309#false} is VALID [2018-11-23 10:21:31,524 INFO L273 TraceCheckUtils]: 49: Hoare triple {1309#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1309#false} is VALID [2018-11-23 10:21:31,524 INFO L268 TraceCheckUtils]: 48: Hoare quadruple {1308#true} {1309#false} #81#return; {1309#false} is VALID [2018-11-23 10:21:31,524 INFO L273 TraceCheckUtils]: 47: Hoare triple {1308#true} assume true; {1308#true} is VALID [2018-11-23 10:21:31,525 INFO L273 TraceCheckUtils]: 46: Hoare triple {1308#true} #res := ~ret~0[32:0]; {1308#true} is VALID [2018-11-23 10:21:31,525 INFO L273 TraceCheckUtils]: 45: Hoare triple {1308#true} assume !~bvslt32(~i~0, 20bv32); {1308#true} is VALID [2018-11-23 10:21:31,526 INFO L273 TraceCheckUtils]: 44: Hoare triple {1308#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1308#true} is VALID [2018-11-23 10:21:31,526 INFO L273 TraceCheckUtils]: 43: Hoare triple {1308#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1308#true} is VALID [2018-11-23 10:21:31,526 INFO L273 TraceCheckUtils]: 42: Hoare triple {1308#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1308#true} is VALID [2018-11-23 10:21:31,527 INFO L273 TraceCheckUtils]: 41: Hoare triple {1308#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1308#true} is VALID [2018-11-23 10:21:31,527 INFO L273 TraceCheckUtils]: 40: Hoare triple {1308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1308#true} is VALID [2018-11-23 10:21:31,527 INFO L256 TraceCheckUtils]: 39: Hoare triple {1309#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1308#true} is VALID [2018-11-23 10:21:31,527 INFO L273 TraceCheckUtils]: 38: Hoare triple {1309#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,527 INFO L273 TraceCheckUtils]: 37: Hoare triple {1309#false} assume !~bvslt32(~i~2, 19bv32); {1309#false} is VALID [2018-11-23 10:21:31,528 INFO L273 TraceCheckUtils]: 36: Hoare triple {1309#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {1309#false} is VALID [2018-11-23 10:21:31,528 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1308#true} {1309#false} #79#return; {1309#false} is VALID [2018-11-23 10:21:31,528 INFO L273 TraceCheckUtils]: 34: Hoare triple {1308#true} assume true; {1308#true} is VALID [2018-11-23 10:21:31,528 INFO L273 TraceCheckUtils]: 33: Hoare triple {1308#true} #res := ~ret~0[32:0]; {1308#true} is VALID [2018-11-23 10:21:31,528 INFO L273 TraceCheckUtils]: 32: Hoare triple {1308#true} assume !~bvslt32(~i~0, 20bv32); {1308#true} is VALID [2018-11-23 10:21:31,529 INFO L273 TraceCheckUtils]: 31: Hoare triple {1308#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1308#true} is VALID [2018-11-23 10:21:31,529 INFO L273 TraceCheckUtils]: 30: Hoare triple {1308#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1308#true} is VALID [2018-11-23 10:21:31,529 INFO L273 TraceCheckUtils]: 29: Hoare triple {1308#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1308#true} is VALID [2018-11-23 10:21:31,529 INFO L273 TraceCheckUtils]: 28: Hoare triple {1308#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1308#true} is VALID [2018-11-23 10:21:31,529 INFO L273 TraceCheckUtils]: 27: Hoare triple {1308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1308#true} is VALID [2018-11-23 10:21:31,530 INFO L256 TraceCheckUtils]: 26: Hoare triple {1309#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1308#true} is VALID [2018-11-23 10:21:31,530 INFO L273 TraceCheckUtils]: 25: Hoare triple {1309#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {1309#false} is VALID [2018-11-23 10:21:31,530 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1308#true} {1309#false} #77#return; {1309#false} is VALID [2018-11-23 10:21:31,530 INFO L273 TraceCheckUtils]: 23: Hoare triple {1308#true} assume true; {1308#true} is VALID [2018-11-23 10:21:31,530 INFO L273 TraceCheckUtils]: 22: Hoare triple {1308#true} #res := ~ret~0[32:0]; {1308#true} is VALID [2018-11-23 10:21:31,531 INFO L273 TraceCheckUtils]: 21: Hoare triple {1308#true} assume !~bvslt32(~i~0, 20bv32); {1308#true} is VALID [2018-11-23 10:21:31,531 INFO L273 TraceCheckUtils]: 20: Hoare triple {1308#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1308#true} is VALID [2018-11-23 10:21:31,531 INFO L273 TraceCheckUtils]: 19: Hoare triple {1308#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1308#true} is VALID [2018-11-23 10:21:31,532 INFO L273 TraceCheckUtils]: 18: Hoare triple {1308#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1308#true} is VALID [2018-11-23 10:21:31,532 INFO L273 TraceCheckUtils]: 17: Hoare triple {1308#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1308#true} is VALID [2018-11-23 10:21:31,532 INFO L273 TraceCheckUtils]: 16: Hoare triple {1308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1308#true} is VALID [2018-11-23 10:21:31,532 INFO L256 TraceCheckUtils]: 15: Hoare triple {1309#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1308#true} is VALID [2018-11-23 10:21:31,535 INFO L273 TraceCheckUtils]: 14: Hoare triple {1582#(bvslt main_~i~1 (_ bv20 32))} assume !~bvslt32(~i~1, 20bv32); {1309#false} is VALID [2018-11-23 10:21:31,536 INFO L273 TraceCheckUtils]: 13: Hoare triple {1586#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1582#(bvslt main_~i~1 (_ bv20 32))} is VALID [2018-11-23 10:21:31,536 INFO L273 TraceCheckUtils]: 12: Hoare triple {1586#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1586#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,540 INFO L273 TraceCheckUtils]: 11: Hoare triple {1593#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1586#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,559 INFO L273 TraceCheckUtils]: 10: Hoare triple {1593#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1593#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,578 INFO L273 TraceCheckUtils]: 9: Hoare triple {1600#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1593#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,579 INFO L273 TraceCheckUtils]: 8: Hoare triple {1600#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1600#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,582 INFO L273 TraceCheckUtils]: 7: Hoare triple {1607#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1600#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,583 INFO L273 TraceCheckUtils]: 6: Hoare triple {1607#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1607#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,584 INFO L273 TraceCheckUtils]: 5: Hoare triple {1308#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1607#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:31,584 INFO L256 TraceCheckUtils]: 4: Hoare triple {1308#true} call #t~ret14 := main(); {1308#true} is VALID [2018-11-23 10:21:31,585 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1308#true} {1308#true} #73#return; {1308#true} is VALID [2018-11-23 10:21:31,585 INFO L273 TraceCheckUtils]: 2: Hoare triple {1308#true} assume true; {1308#true} is VALID [2018-11-23 10:21:31,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {1308#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1308#true} is VALID [2018-11-23 10:21:31,585 INFO L256 TraceCheckUtils]: 0: Hoare triple {1308#true} call ULTIMATE.init(); {1308#true} is VALID [2018-11-23 10:21:31,589 INFO L134 CoverageAnalysis]: Checked inductivity of 52 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2018-11-23 10:21:31,591 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:31,591 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 10:21:31,592 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2018-11-23 10:21:31,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:31,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 10:21:31,709 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:31,709 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 10:21:31,709 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 10:21:31,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:21:31,710 INFO L87 Difference]: Start difference. First operand 36 states and 41 transitions. Second operand 12 states. [2018-11-23 10:21:32,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:32,687 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2018-11-23 10:21:32,688 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 10:21:32,688 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2018-11-23 10:21:32,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:32,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:21:32,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2018-11-23 10:21:32,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:21:32,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 82 transitions. [2018-11-23 10:21:32,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 82 transitions. [2018-11-23 10:21:32,908 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:32,912 INFO L225 Difference]: With dead ends: 69 [2018-11-23 10:21:32,913 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 10:21:32,914 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=94, Invalid=146, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:21:32,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 10:21:32,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2018-11-23 10:21:32,949 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:32,949 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 48 states. [2018-11-23 10:21:32,949 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-23 10:21:32,949 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-23 10:21:32,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:32,953 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2018-11-23 10:21:32,953 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-23 10:21:32,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:32,954 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:32,954 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-23 10:21:32,954 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-23 10:21:32,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:32,957 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2018-11-23 10:21:32,957 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-23 10:21:32,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:32,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:32,958 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:32,958 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:32,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-23 10:21:32,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-23 10:21:32,961 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 52 [2018-11-23 10:21:32,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:32,962 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-23 10:21:32,962 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 10:21:32,962 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-23 10:21:32,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2018-11-23 10:21:32,964 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:32,964 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:32,965 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:32,965 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:32,965 INFO L82 PathProgramCache]: Analyzing trace with hash -1134045510, now seen corresponding path program 2 times [2018-11-23 10:21:32,966 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:32,966 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:32,994 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:21:33,094 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:21:33,094 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:33,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:33,132 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:33,410 INFO L256 TraceCheckUtils]: 0: Hoare triple {1903#true} call ULTIMATE.init(); {1903#true} is VALID [2018-11-23 10:21:33,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {1903#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1903#true} is VALID [2018-11-23 10:21:33,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {1903#true} assume true; {1903#true} is VALID [2018-11-23 10:21:33,411 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1903#true} {1903#true} #73#return; {1903#true} is VALID [2018-11-23 10:21:33,412 INFO L256 TraceCheckUtils]: 4: Hoare triple {1903#true} call #t~ret14 := main(); {1903#true} is VALID [2018-11-23 10:21:33,412 INFO L273 TraceCheckUtils]: 5: Hoare triple {1903#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1923#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:33,413 INFO L273 TraceCheckUtils]: 6: Hoare triple {1923#(= main_~i~1 (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1923#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:21:33,413 INFO L273 TraceCheckUtils]: 7: Hoare triple {1923#(= main_~i~1 (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1930#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,414 INFO L273 TraceCheckUtils]: 8: Hoare triple {1930#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1930#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,414 INFO L273 TraceCheckUtils]: 9: Hoare triple {1930#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1937#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,415 INFO L273 TraceCheckUtils]: 10: Hoare triple {1937#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1937#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,416 INFO L273 TraceCheckUtils]: 11: Hoare triple {1937#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1944#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,416 INFO L273 TraceCheckUtils]: 12: Hoare triple {1944#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1944#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,417 INFO L273 TraceCheckUtils]: 13: Hoare triple {1944#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1951#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,418 INFO L273 TraceCheckUtils]: 14: Hoare triple {1951#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1951#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,419 INFO L273 TraceCheckUtils]: 15: Hoare triple {1951#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1958#(= (_ bv5 32) main_~i~1)} is VALID [2018-11-23 10:21:33,420 INFO L273 TraceCheckUtils]: 16: Hoare triple {1958#(= (_ bv5 32) main_~i~1)} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1958#(= (_ bv5 32) main_~i~1)} is VALID [2018-11-23 10:21:33,421 INFO L273 TraceCheckUtils]: 17: Hoare triple {1958#(= (_ bv5 32) main_~i~1)} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1965#(= (bvadd main_~i~1 (_ bv4294967290 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,421 INFO L273 TraceCheckUtils]: 18: Hoare triple {1965#(= (bvadd main_~i~1 (_ bv4294967290 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1965#(= (bvadd main_~i~1 (_ bv4294967290 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,422 INFO L273 TraceCheckUtils]: 19: Hoare triple {1965#(= (bvadd main_~i~1 (_ bv4294967290 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1972#(= (_ bv7 32) main_~i~1)} is VALID [2018-11-23 10:21:33,423 INFO L273 TraceCheckUtils]: 20: Hoare triple {1972#(= (_ bv7 32) main_~i~1)} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1972#(= (_ bv7 32) main_~i~1)} is VALID [2018-11-23 10:21:33,424 INFO L273 TraceCheckUtils]: 21: Hoare triple {1972#(= (_ bv7 32) main_~i~1)} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1979#(= (bvadd main_~i~1 (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,425 INFO L273 TraceCheckUtils]: 22: Hoare triple {1979#(= (bvadd main_~i~1 (_ bv4294967288 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1979#(= (bvadd main_~i~1 (_ bv4294967288 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,426 INFO L273 TraceCheckUtils]: 23: Hoare triple {1979#(= (bvadd main_~i~1 (_ bv4294967288 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1986#(= (_ bv9 32) main_~i~1)} is VALID [2018-11-23 10:21:33,427 INFO L273 TraceCheckUtils]: 24: Hoare triple {1986#(= (_ bv9 32) main_~i~1)} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1986#(= (_ bv9 32) main_~i~1)} is VALID [2018-11-23 10:21:33,428 INFO L273 TraceCheckUtils]: 25: Hoare triple {1986#(= (_ bv9 32) main_~i~1)} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1993#(= (bvadd main_~i~1 (_ bv4294967286 32)) (_ bv0 32))} is VALID [2018-11-23 10:21:33,429 INFO L273 TraceCheckUtils]: 26: Hoare triple {1993#(= (bvadd main_~i~1 (_ bv4294967286 32)) (_ bv0 32))} assume !~bvslt32(~i~1, 20bv32); {1904#false} is VALID [2018-11-23 10:21:33,429 INFO L256 TraceCheckUtils]: 27: Hoare triple {1904#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1904#false} is VALID [2018-11-23 10:21:33,429 INFO L273 TraceCheckUtils]: 28: Hoare triple {1904#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1904#false} is VALID [2018-11-23 10:21:33,430 INFO L273 TraceCheckUtils]: 29: Hoare triple {1904#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1904#false} is VALID [2018-11-23 10:21:33,430 INFO L273 TraceCheckUtils]: 30: Hoare triple {1904#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1904#false} is VALID [2018-11-23 10:21:33,430 INFO L273 TraceCheckUtils]: 31: Hoare triple {1904#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1904#false} is VALID [2018-11-23 10:21:33,431 INFO L273 TraceCheckUtils]: 32: Hoare triple {1904#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1904#false} is VALID [2018-11-23 10:21:33,431 INFO L273 TraceCheckUtils]: 33: Hoare triple {1904#false} assume !~bvslt32(~i~0, 20bv32); {1904#false} is VALID [2018-11-23 10:21:33,431 INFO L273 TraceCheckUtils]: 34: Hoare triple {1904#false} #res := ~ret~0[32:0]; {1904#false} is VALID [2018-11-23 10:21:33,432 INFO L273 TraceCheckUtils]: 35: Hoare triple {1904#false} assume true; {1904#false} is VALID [2018-11-23 10:21:33,432 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1904#false} {1904#false} #77#return; {1904#false} is VALID [2018-11-23 10:21:33,432 INFO L273 TraceCheckUtils]: 37: Hoare triple {1904#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {1904#false} is VALID [2018-11-23 10:21:33,433 INFO L256 TraceCheckUtils]: 38: Hoare triple {1904#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1904#false} is VALID [2018-11-23 10:21:33,433 INFO L273 TraceCheckUtils]: 39: Hoare triple {1904#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1904#false} is VALID [2018-11-23 10:21:33,433 INFO L273 TraceCheckUtils]: 40: Hoare triple {1904#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1904#false} is VALID [2018-11-23 10:21:33,433 INFO L273 TraceCheckUtils]: 41: Hoare triple {1904#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1904#false} is VALID [2018-11-23 10:21:33,434 INFO L273 TraceCheckUtils]: 42: Hoare triple {1904#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1904#false} is VALID [2018-11-23 10:21:33,434 INFO L273 TraceCheckUtils]: 43: Hoare triple {1904#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1904#false} is VALID [2018-11-23 10:21:33,434 INFO L273 TraceCheckUtils]: 44: Hoare triple {1904#false} assume !~bvslt32(~i~0, 20bv32); {1904#false} is VALID [2018-11-23 10:21:33,434 INFO L273 TraceCheckUtils]: 45: Hoare triple {1904#false} #res := ~ret~0[32:0]; {1904#false} is VALID [2018-11-23 10:21:33,435 INFO L273 TraceCheckUtils]: 46: Hoare triple {1904#false} assume true; {1904#false} is VALID [2018-11-23 10:21:33,435 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {1904#false} {1904#false} #79#return; {1904#false} is VALID [2018-11-23 10:21:33,435 INFO L273 TraceCheckUtils]: 48: Hoare triple {1904#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {1904#false} is VALID [2018-11-23 10:21:33,435 INFO L273 TraceCheckUtils]: 49: Hoare triple {1904#false} assume !~bvslt32(~i~2, 19bv32); {1904#false} is VALID [2018-11-23 10:21:33,435 INFO L273 TraceCheckUtils]: 50: Hoare triple {1904#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {1904#false} is VALID [2018-11-23 10:21:33,436 INFO L256 TraceCheckUtils]: 51: Hoare triple {1904#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1904#false} is VALID [2018-11-23 10:21:33,436 INFO L273 TraceCheckUtils]: 52: Hoare triple {1904#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1904#false} is VALID [2018-11-23 10:21:33,436 INFO L273 TraceCheckUtils]: 53: Hoare triple {1904#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1904#false} is VALID [2018-11-23 10:21:33,436 INFO L273 TraceCheckUtils]: 54: Hoare triple {1904#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1904#false} is VALID [2018-11-23 10:21:33,437 INFO L273 TraceCheckUtils]: 55: Hoare triple {1904#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1904#false} is VALID [2018-11-23 10:21:33,437 INFO L273 TraceCheckUtils]: 56: Hoare triple {1904#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1904#false} is VALID [2018-11-23 10:21:33,437 INFO L273 TraceCheckUtils]: 57: Hoare triple {1904#false} assume !~bvslt32(~i~0, 20bv32); {1904#false} is VALID [2018-11-23 10:21:33,437 INFO L273 TraceCheckUtils]: 58: Hoare triple {1904#false} #res := ~ret~0[32:0]; {1904#false} is VALID [2018-11-23 10:21:33,438 INFO L273 TraceCheckUtils]: 59: Hoare triple {1904#false} assume true; {1904#false} is VALID [2018-11-23 10:21:33,438 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {1904#false} {1904#false} #81#return; {1904#false} is VALID [2018-11-23 10:21:33,438 INFO L273 TraceCheckUtils]: 61: Hoare triple {1904#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1904#false} is VALID [2018-11-23 10:21:33,439 INFO L273 TraceCheckUtils]: 62: Hoare triple {1904#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1904#false} is VALID [2018-11-23 10:21:33,439 INFO L273 TraceCheckUtils]: 63: Hoare triple {1904#false} assume !false; {1904#false} is VALID [2018-11-23 10:21:33,444 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2018-11-23 10:21:33,444 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:34,134 INFO L273 TraceCheckUtils]: 63: Hoare triple {1904#false} assume !false; {1904#false} is VALID [2018-11-23 10:21:34,134 INFO L273 TraceCheckUtils]: 62: Hoare triple {1904#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1904#false} is VALID [2018-11-23 10:21:34,135 INFO L273 TraceCheckUtils]: 61: Hoare triple {1904#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1904#false} is VALID [2018-11-23 10:21:34,135 INFO L268 TraceCheckUtils]: 60: Hoare quadruple {1903#true} {1904#false} #81#return; {1904#false} is VALID [2018-11-23 10:21:34,135 INFO L273 TraceCheckUtils]: 59: Hoare triple {1903#true} assume true; {1903#true} is VALID [2018-11-23 10:21:34,136 INFO L273 TraceCheckUtils]: 58: Hoare triple {1903#true} #res := ~ret~0[32:0]; {1903#true} is VALID [2018-11-23 10:21:34,136 INFO L273 TraceCheckUtils]: 57: Hoare triple {1903#true} assume !~bvslt32(~i~0, 20bv32); {1903#true} is VALID [2018-11-23 10:21:34,137 INFO L273 TraceCheckUtils]: 56: Hoare triple {1903#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1903#true} is VALID [2018-11-23 10:21:34,137 INFO L273 TraceCheckUtils]: 55: Hoare triple {1903#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1903#true} is VALID [2018-11-23 10:21:34,137 INFO L273 TraceCheckUtils]: 54: Hoare triple {1903#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1903#true} is VALID [2018-11-23 10:21:34,137 INFO L273 TraceCheckUtils]: 53: Hoare triple {1903#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1903#true} is VALID [2018-11-23 10:21:34,137 INFO L273 TraceCheckUtils]: 52: Hoare triple {1903#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1903#true} is VALID [2018-11-23 10:21:34,138 INFO L256 TraceCheckUtils]: 51: Hoare triple {1904#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {1903#true} is VALID [2018-11-23 10:21:34,138 INFO L273 TraceCheckUtils]: 50: Hoare triple {1904#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {1904#false} is VALID [2018-11-23 10:21:34,138 INFO L273 TraceCheckUtils]: 49: Hoare triple {1904#false} assume !~bvslt32(~i~2, 19bv32); {1904#false} is VALID [2018-11-23 10:21:34,138 INFO L273 TraceCheckUtils]: 48: Hoare triple {1904#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {1904#false} is VALID [2018-11-23 10:21:34,139 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {1903#true} {1904#false} #79#return; {1904#false} is VALID [2018-11-23 10:21:34,139 INFO L273 TraceCheckUtils]: 46: Hoare triple {1903#true} assume true; {1903#true} is VALID [2018-11-23 10:21:34,139 INFO L273 TraceCheckUtils]: 45: Hoare triple {1903#true} #res := ~ret~0[32:0]; {1903#true} is VALID [2018-11-23 10:21:34,139 INFO L273 TraceCheckUtils]: 44: Hoare triple {1903#true} assume !~bvslt32(~i~0, 20bv32); {1903#true} is VALID [2018-11-23 10:21:34,140 INFO L273 TraceCheckUtils]: 43: Hoare triple {1903#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1903#true} is VALID [2018-11-23 10:21:34,140 INFO L273 TraceCheckUtils]: 42: Hoare triple {1903#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1903#true} is VALID [2018-11-23 10:21:34,140 INFO L273 TraceCheckUtils]: 41: Hoare triple {1903#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1903#true} is VALID [2018-11-23 10:21:34,140 INFO L273 TraceCheckUtils]: 40: Hoare triple {1903#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1903#true} is VALID [2018-11-23 10:21:34,141 INFO L273 TraceCheckUtils]: 39: Hoare triple {1903#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1903#true} is VALID [2018-11-23 10:21:34,141 INFO L256 TraceCheckUtils]: 38: Hoare triple {1904#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {1903#true} is VALID [2018-11-23 10:21:34,141 INFO L273 TraceCheckUtils]: 37: Hoare triple {1904#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {1904#false} is VALID [2018-11-23 10:21:34,141 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {1903#true} {1904#false} #77#return; {1904#false} is VALID [2018-11-23 10:21:34,142 INFO L273 TraceCheckUtils]: 35: Hoare triple {1903#true} assume true; {1903#true} is VALID [2018-11-23 10:21:34,142 INFO L273 TraceCheckUtils]: 34: Hoare triple {1903#true} #res := ~ret~0[32:0]; {1903#true} is VALID [2018-11-23 10:21:34,142 INFO L273 TraceCheckUtils]: 33: Hoare triple {1903#true} assume !~bvslt32(~i~0, 20bv32); {1903#true} is VALID [2018-11-23 10:21:34,143 INFO L273 TraceCheckUtils]: 32: Hoare triple {1903#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1903#true} is VALID [2018-11-23 10:21:34,143 INFO L273 TraceCheckUtils]: 31: Hoare triple {1903#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {1903#true} is VALID [2018-11-23 10:21:34,143 INFO L273 TraceCheckUtils]: 30: Hoare triple {1903#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {1903#true} is VALID [2018-11-23 10:21:34,143 INFO L273 TraceCheckUtils]: 29: Hoare triple {1903#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1903#true} is VALID [2018-11-23 10:21:34,143 INFO L273 TraceCheckUtils]: 28: Hoare triple {1903#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1903#true} is VALID [2018-11-23 10:21:34,144 INFO L256 TraceCheckUtils]: 27: Hoare triple {1904#false} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {1903#true} is VALID [2018-11-23 10:21:34,146 INFO L273 TraceCheckUtils]: 26: Hoare triple {2219#(bvslt main_~i~1 (_ bv20 32))} assume !~bvslt32(~i~1, 20bv32); {1904#false} is VALID [2018-11-23 10:21:34,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {2223#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2219#(bvslt main_~i~1 (_ bv20 32))} is VALID [2018-11-23 10:21:34,147 INFO L273 TraceCheckUtils]: 24: Hoare triple {2223#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2223#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,151 INFO L273 TraceCheckUtils]: 23: Hoare triple {2230#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2223#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,151 INFO L273 TraceCheckUtils]: 22: Hoare triple {2230#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2230#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,157 INFO L273 TraceCheckUtils]: 21: Hoare triple {2237#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2230#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,157 INFO L273 TraceCheckUtils]: 20: Hoare triple {2237#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2237#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,162 INFO L273 TraceCheckUtils]: 19: Hoare triple {2244#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2237#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,162 INFO L273 TraceCheckUtils]: 18: Hoare triple {2244#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2244#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,171 INFO L273 TraceCheckUtils]: 17: Hoare triple {2251#(bvslt (bvadd main_~i~1 (_ bv5 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2244#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,172 INFO L273 TraceCheckUtils]: 16: Hoare triple {2251#(bvslt (bvadd main_~i~1 (_ bv5 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2251#(bvslt (bvadd main_~i~1 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,176 INFO L273 TraceCheckUtils]: 15: Hoare triple {2258#(bvslt (bvadd main_~i~1 (_ bv6 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2251#(bvslt (bvadd main_~i~1 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,176 INFO L273 TraceCheckUtils]: 14: Hoare triple {2258#(bvslt (bvadd main_~i~1 (_ bv6 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2258#(bvslt (bvadd main_~i~1 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,181 INFO L273 TraceCheckUtils]: 13: Hoare triple {2265#(bvslt (bvadd main_~i~1 (_ bv7 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2258#(bvslt (bvadd main_~i~1 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,181 INFO L273 TraceCheckUtils]: 12: Hoare triple {2265#(bvslt (bvadd main_~i~1 (_ bv7 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2265#(bvslt (bvadd main_~i~1 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,185 INFO L273 TraceCheckUtils]: 11: Hoare triple {2272#(bvslt (bvadd main_~i~1 (_ bv8 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2265#(bvslt (bvadd main_~i~1 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,185 INFO L273 TraceCheckUtils]: 10: Hoare triple {2272#(bvslt (bvadd main_~i~1 (_ bv8 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2272#(bvslt (bvadd main_~i~1 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,189 INFO L273 TraceCheckUtils]: 9: Hoare triple {2279#(bvslt (bvadd main_~i~1 (_ bv9 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2272#(bvslt (bvadd main_~i~1 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,189 INFO L273 TraceCheckUtils]: 8: Hoare triple {2279#(bvslt (bvadd main_~i~1 (_ bv9 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2279#(bvslt (bvadd main_~i~1 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,193 INFO L273 TraceCheckUtils]: 7: Hoare triple {2286#(bvslt (bvadd main_~i~1 (_ bv10 32)) (_ bv20 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2279#(bvslt (bvadd main_~i~1 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,194 INFO L273 TraceCheckUtils]: 6: Hoare triple {2286#(bvslt (bvadd main_~i~1 (_ bv10 32)) (_ bv20 32))} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2286#(bvslt (bvadd main_~i~1 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,194 INFO L273 TraceCheckUtils]: 5: Hoare triple {1903#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {2286#(bvslt (bvadd main_~i~1 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:34,195 INFO L256 TraceCheckUtils]: 4: Hoare triple {1903#true} call #t~ret14 := main(); {1903#true} is VALID [2018-11-23 10:21:34,195 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1903#true} {1903#true} #73#return; {1903#true} is VALID [2018-11-23 10:21:34,195 INFO L273 TraceCheckUtils]: 2: Hoare triple {1903#true} assume true; {1903#true} is VALID [2018-11-23 10:21:34,195 INFO L273 TraceCheckUtils]: 1: Hoare triple {1903#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1903#true} is VALID [2018-11-23 10:21:34,195 INFO L256 TraceCheckUtils]: 0: Hoare triple {1903#true} call ULTIMATE.init(); {1903#true} is VALID [2018-11-23 10:21:34,201 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 0 proven. 100 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2018-11-23 10:21:34,203 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:34,203 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-23 10:21:34,203 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 64 [2018-11-23 10:21:34,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:34,205 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 10:21:34,405 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:34,405 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 10:21:34,406 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 10:21:34,406 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=165, Invalid=387, Unknown=0, NotChecked=0, Total=552 [2018-11-23 10:21:34,407 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 24 states. [2018-11-23 10:21:37,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:37,665 INFO L93 Difference]: Finished difference Result 89 states and 108 transitions. [2018-11-23 10:21:37,665 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 10:21:37,665 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 64 [2018-11-23 10:21:37,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:37,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:21:37,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 106 transitions. [2018-11-23 10:21:37,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:21:37,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 106 transitions. [2018-11-23 10:21:37,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 106 transitions. [2018-11-23 10:21:37,886 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:37,888 INFO L225 Difference]: With dead ends: 89 [2018-11-23 10:21:37,888 INFO L226 Difference]: Without dead ends: 68 [2018-11-23 10:21:37,889 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 105 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=341, Invalid=651, Unknown=0, NotChecked=0, Total=992 [2018-11-23 10:21:37,889 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-11-23 10:21:37,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 68. [2018-11-23 10:21:37,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:37,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 68 states. [2018-11-23 10:21:37,919 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 68 states. [2018-11-23 10:21:37,920 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 68 states. [2018-11-23 10:21:37,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:37,923 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2018-11-23 10:21:37,923 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2018-11-23 10:21:37,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:37,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:37,924 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 68 states. [2018-11-23 10:21:37,924 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 68 states. [2018-11-23 10:21:37,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:37,927 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2018-11-23 10:21:37,927 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2018-11-23 10:21:37,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:37,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:37,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:37,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:37,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 10:21:37,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2018-11-23 10:21:37,930 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 64 [2018-11-23 10:21:37,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:37,931 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2018-11-23 10:21:37,931 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 10:21:37,931 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2018-11-23 10:21:37,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2018-11-23 10:21:37,932 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:37,932 INFO L402 BasicCegarLoop]: trace histogram [20, 20, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:37,933 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:37,933 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:37,933 INFO L82 PathProgramCache]: Analyzing trace with hash 1153023182, now seen corresponding path program 3 times [2018-11-23 10:21:37,933 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:37,933 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:37,954 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:21:38,024 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 10:21:38,024 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:38,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:38,058 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:38,149 INFO L256 TraceCheckUtils]: 0: Hoare triple {2690#true} call ULTIMATE.init(); {2690#true} is VALID [2018-11-23 10:21:38,150 INFO L273 TraceCheckUtils]: 1: Hoare triple {2690#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2690#true} is VALID [2018-11-23 10:21:38,150 INFO L273 TraceCheckUtils]: 2: Hoare triple {2690#true} assume true; {2690#true} is VALID [2018-11-23 10:21:38,150 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2690#true} {2690#true} #73#return; {2690#true} is VALID [2018-11-23 10:21:38,150 INFO L256 TraceCheckUtils]: 4: Hoare triple {2690#true} call #t~ret14 := main(); {2690#true} is VALID [2018-11-23 10:21:38,151 INFO L273 TraceCheckUtils]: 5: Hoare triple {2690#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {2690#true} is VALID [2018-11-23 10:21:38,151 INFO L273 TraceCheckUtils]: 6: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,151 INFO L273 TraceCheckUtils]: 7: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,151 INFO L273 TraceCheckUtils]: 8: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,151 INFO L273 TraceCheckUtils]: 9: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,152 INFO L273 TraceCheckUtils]: 10: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,152 INFO L273 TraceCheckUtils]: 11: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,152 INFO L273 TraceCheckUtils]: 12: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,152 INFO L273 TraceCheckUtils]: 13: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,153 INFO L273 TraceCheckUtils]: 14: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,153 INFO L273 TraceCheckUtils]: 15: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,153 INFO L273 TraceCheckUtils]: 16: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,153 INFO L273 TraceCheckUtils]: 17: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,153 INFO L273 TraceCheckUtils]: 18: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 19: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 20: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 21: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 22: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 23: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 24: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 25: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,154 INFO L273 TraceCheckUtils]: 26: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 27: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 28: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 29: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 30: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 31: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 32: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,155 INFO L273 TraceCheckUtils]: 33: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 34: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 35: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 36: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 37: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 38: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 39: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,156 INFO L273 TraceCheckUtils]: 40: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 41: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 42: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 43: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 44: Hoare triple {2690#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 45: Hoare triple {2690#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L273 TraceCheckUtils]: 46: Hoare triple {2690#true} assume !~bvslt32(~i~1, 20bv32); {2690#true} is VALID [2018-11-23 10:21:38,157 INFO L256 TraceCheckUtils]: 47: Hoare triple {2690#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 48: Hoare triple {2690#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 49: Hoare triple {2690#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 50: Hoare triple {2690#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 51: Hoare triple {2690#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 52: Hoare triple {2690#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 53: Hoare triple {2690#true} assume !~bvslt32(~i~0, 20bv32); {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 54: Hoare triple {2690#true} #res := ~ret~0[32:0]; {2690#true} is VALID [2018-11-23 10:21:38,158 INFO L273 TraceCheckUtils]: 55: Hoare triple {2690#true} assume true; {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {2690#true} {2690#true} #77#return; {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L273 TraceCheckUtils]: 57: Hoare triple {2690#true} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L256 TraceCheckUtils]: 58: Hoare triple {2690#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L273 TraceCheckUtils]: 59: Hoare triple {2690#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L273 TraceCheckUtils]: 60: Hoare triple {2690#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2690#true} is VALID [2018-11-23 10:21:38,159 INFO L273 TraceCheckUtils]: 61: Hoare triple {2690#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L273 TraceCheckUtils]: 62: Hoare triple {2690#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L273 TraceCheckUtils]: 63: Hoare triple {2690#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L273 TraceCheckUtils]: 64: Hoare triple {2690#true} assume !~bvslt32(~i~0, 20bv32); {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L273 TraceCheckUtils]: 65: Hoare triple {2690#true} #res := ~ret~0[32:0]; {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L273 TraceCheckUtils]: 66: Hoare triple {2690#true} assume true; {2690#true} is VALID [2018-11-23 10:21:38,160 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {2690#true} {2690#true} #79#return; {2690#true} is VALID [2018-11-23 10:21:38,161 INFO L273 TraceCheckUtils]: 68: Hoare triple {2690#true} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {2899#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:21:38,161 INFO L273 TraceCheckUtils]: 69: Hoare triple {2899#(= main_~i~2 (_ bv0 32))} assume !~bvslt32(~i~2, 19bv32); {2691#false} is VALID [2018-11-23 10:21:38,161 INFO L273 TraceCheckUtils]: 70: Hoare triple {2691#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {2691#false} is VALID [2018-11-23 10:21:38,161 INFO L256 TraceCheckUtils]: 71: Hoare triple {2691#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 72: Hoare triple {2691#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 73: Hoare triple {2691#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 74: Hoare triple {2691#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 75: Hoare triple {2691#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 76: Hoare triple {2691#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 77: Hoare triple {2691#false} assume !~bvslt32(~i~0, 20bv32); {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 78: Hoare triple {2691#false} #res := ~ret~0[32:0]; {2691#false} is VALID [2018-11-23 10:21:38,162 INFO L273 TraceCheckUtils]: 79: Hoare triple {2691#false} assume true; {2691#false} is VALID [2018-11-23 10:21:38,163 INFO L268 TraceCheckUtils]: 80: Hoare quadruple {2691#false} {2691#false} #81#return; {2691#false} is VALID [2018-11-23 10:21:38,163 INFO L273 TraceCheckUtils]: 81: Hoare triple {2691#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {2691#false} is VALID [2018-11-23 10:21:38,163 INFO L273 TraceCheckUtils]: 82: Hoare triple {2691#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2691#false} is VALID [2018-11-23 10:21:38,163 INFO L273 TraceCheckUtils]: 83: Hoare triple {2691#false} assume !false; {2691#false} is VALID [2018-11-23 10:21:38,166 INFO L134 CoverageAnalysis]: Checked inductivity of 436 backedges. 22 proven. 0 refuted. 0 times theorem prover too weak. 414 trivial. 0 not checked. [2018-11-23 10:21:38,166 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:21:38,168 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:21:38,168 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:21:38,168 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 84 [2018-11-23 10:21:38,169 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:38,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:21:38,234 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:38,235 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:21:38,235 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:21:38,235 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:38,235 INFO L87 Difference]: Start difference. First operand 68 states and 73 transitions. Second operand 3 states. [2018-11-23 10:21:38,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:38,395 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2018-11-23 10:21:38,395 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:21:38,396 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 84 [2018-11-23 10:21:38,396 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:38,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:38,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 51 transitions. [2018-11-23 10:21:38,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:21:38,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 51 transitions. [2018-11-23 10:21:38,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 51 transitions. [2018-11-23 10:21:38,476 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:38,479 INFO L225 Difference]: With dead ends: 85 [2018-11-23 10:21:38,479 INFO L226 Difference]: Without dead ends: 70 [2018-11-23 10:21:38,479 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:21:38,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-11-23 10:21:38,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 69. [2018-11-23 10:21:38,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:38,551 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 69 states. [2018-11-23 10:21:38,552 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 69 states. [2018-11-23 10:21:38,552 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 69 states. [2018-11-23 10:21:38,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:38,554 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2018-11-23 10:21:38,554 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2018-11-23 10:21:38,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:38,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:38,554 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 70 states. [2018-11-23 10:21:38,555 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 70 states. [2018-11-23 10:21:38,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:38,557 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2018-11-23 10:21:38,557 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 75 transitions. [2018-11-23 10:21:38,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:38,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:38,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:38,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:38,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 10:21:38,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 74 transitions. [2018-11-23 10:21:38,561 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 74 transitions. Word has length 84 [2018-11-23 10:21:38,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:38,561 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 74 transitions. [2018-11-23 10:21:38,561 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:21:38,561 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 74 transitions. [2018-11-23 10:21:38,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2018-11-23 10:21:38,562 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:38,563 INFO L402 BasicCegarLoop]: trace histogram [20, 20, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:38,563 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:38,563 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:38,563 INFO L82 PathProgramCache]: Analyzing trace with hash 797817900, now seen corresponding path program 1 times [2018-11-23 10:21:38,564 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:38,564 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:38,589 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:21:38,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:38,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:38,775 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:38,969 INFO L256 TraceCheckUtils]: 0: Hoare triple {3308#true} call ULTIMATE.init(); {3308#true} is VALID [2018-11-23 10:21:38,969 INFO L273 TraceCheckUtils]: 1: Hoare triple {3308#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3308#true} is VALID [2018-11-23 10:21:38,969 INFO L273 TraceCheckUtils]: 2: Hoare triple {3308#true} assume true; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3308#true} {3308#true} #73#return; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L256 TraceCheckUtils]: 4: Hoare triple {3308#true} call #t~ret14 := main(); {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L273 TraceCheckUtils]: 5: Hoare triple {3308#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L273 TraceCheckUtils]: 6: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L273 TraceCheckUtils]: 7: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L273 TraceCheckUtils]: 8: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,970 INFO L273 TraceCheckUtils]: 9: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 10: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 11: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 12: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 13: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 14: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 15: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,971 INFO L273 TraceCheckUtils]: 16: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 17: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 18: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 19: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 20: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 21: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 22: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,972 INFO L273 TraceCheckUtils]: 23: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,973 INFO L273 TraceCheckUtils]: 24: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,973 INFO L273 TraceCheckUtils]: 25: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,973 INFO L273 TraceCheckUtils]: 26: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,973 INFO L273 TraceCheckUtils]: 27: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,973 INFO L273 TraceCheckUtils]: 28: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,974 INFO L273 TraceCheckUtils]: 29: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,974 INFO L273 TraceCheckUtils]: 30: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,974 INFO L273 TraceCheckUtils]: 31: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,974 INFO L273 TraceCheckUtils]: 32: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,974 INFO L273 TraceCheckUtils]: 33: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,983 INFO L273 TraceCheckUtils]: 34: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,983 INFO L273 TraceCheckUtils]: 35: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,983 INFO L273 TraceCheckUtils]: 36: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,983 INFO L273 TraceCheckUtils]: 37: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,984 INFO L273 TraceCheckUtils]: 38: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,984 INFO L273 TraceCheckUtils]: 39: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,984 INFO L273 TraceCheckUtils]: 40: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,984 INFO L273 TraceCheckUtils]: 41: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,984 INFO L273 TraceCheckUtils]: 42: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,985 INFO L273 TraceCheckUtils]: 43: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,985 INFO L273 TraceCheckUtils]: 44: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:38,985 INFO L273 TraceCheckUtils]: 45: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:38,985 INFO L273 TraceCheckUtils]: 46: Hoare triple {3308#true} assume !~bvslt32(~i~1, 20bv32); {3308#true} is VALID [2018-11-23 10:21:38,985 INFO L256 TraceCheckUtils]: 47: Hoare triple {3308#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {3308#true} is VALID [2018-11-23 10:21:38,990 INFO L273 TraceCheckUtils]: 48: Hoare triple {3308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3457#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:38,991 INFO L273 TraceCheckUtils]: 49: Hoare triple {3457#(= (_ bv0 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3457#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:38,991 INFO L273 TraceCheckUtils]: 50: Hoare triple {3457#(= (_ bv0 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3457#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:38,991 INFO L273 TraceCheckUtils]: 51: Hoare triple {3457#(= (_ bv0 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3457#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:38,992 INFO L273 TraceCheckUtils]: 52: Hoare triple {3457#(= (_ bv0 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3470#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:38,992 INFO L273 TraceCheckUtils]: 53: Hoare triple {3470#(= (_ bv1 32) max_~i~0)} assume !~bvslt32(~i~0, 20bv32); {3309#false} is VALID [2018-11-23 10:21:38,992 INFO L273 TraceCheckUtils]: 54: Hoare triple {3309#false} #res := ~ret~0[32:0]; {3309#false} is VALID [2018-11-23 10:21:38,993 INFO L273 TraceCheckUtils]: 55: Hoare triple {3309#false} assume true; {3309#false} is VALID [2018-11-23 10:21:38,993 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3309#false} {3308#true} #77#return; {3309#false} is VALID [2018-11-23 10:21:38,993 INFO L273 TraceCheckUtils]: 57: Hoare triple {3309#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {3309#false} is VALID [2018-11-23 10:21:38,993 INFO L256 TraceCheckUtils]: 58: Hoare triple {3309#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {3309#false} is VALID [2018-11-23 10:21:38,993 INFO L273 TraceCheckUtils]: 59: Hoare triple {3309#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3309#false} is VALID [2018-11-23 10:21:38,994 INFO L273 TraceCheckUtils]: 60: Hoare triple {3309#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3309#false} is VALID [2018-11-23 10:21:38,994 INFO L273 TraceCheckUtils]: 61: Hoare triple {3309#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3309#false} is VALID [2018-11-23 10:21:38,994 INFO L273 TraceCheckUtils]: 62: Hoare triple {3309#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3309#false} is VALID [2018-11-23 10:21:38,994 INFO L273 TraceCheckUtils]: 63: Hoare triple {3309#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3309#false} is VALID [2018-11-23 10:21:38,995 INFO L273 TraceCheckUtils]: 64: Hoare triple {3309#false} assume !~bvslt32(~i~0, 20bv32); {3309#false} is VALID [2018-11-23 10:21:38,995 INFO L273 TraceCheckUtils]: 65: Hoare triple {3309#false} #res := ~ret~0[32:0]; {3309#false} is VALID [2018-11-23 10:21:38,995 INFO L273 TraceCheckUtils]: 66: Hoare triple {3309#false} assume true; {3309#false} is VALID [2018-11-23 10:21:38,995 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {3309#false} {3309#false} #79#return; {3309#false} is VALID [2018-11-23 10:21:38,996 INFO L273 TraceCheckUtils]: 68: Hoare triple {3309#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {3309#false} is VALID [2018-11-23 10:21:38,996 INFO L273 TraceCheckUtils]: 69: Hoare triple {3309#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {3309#false} is VALID [2018-11-23 10:21:38,996 INFO L273 TraceCheckUtils]: 70: Hoare triple {3309#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {3309#false} is VALID [2018-11-23 10:21:38,996 INFO L273 TraceCheckUtils]: 71: Hoare triple {3309#false} assume !~bvslt32(~i~2, 19bv32); {3309#false} is VALID [2018-11-23 10:21:38,997 INFO L273 TraceCheckUtils]: 72: Hoare triple {3309#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {3309#false} is VALID [2018-11-23 10:21:38,997 INFO L256 TraceCheckUtils]: 73: Hoare triple {3309#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {3309#false} is VALID [2018-11-23 10:21:38,997 INFO L273 TraceCheckUtils]: 74: Hoare triple {3309#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3309#false} is VALID [2018-11-23 10:21:38,997 INFO L273 TraceCheckUtils]: 75: Hoare triple {3309#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3309#false} is VALID [2018-11-23 10:21:38,997 INFO L273 TraceCheckUtils]: 76: Hoare triple {3309#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3309#false} is VALID [2018-11-23 10:21:38,998 INFO L273 TraceCheckUtils]: 77: Hoare triple {3309#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3309#false} is VALID [2018-11-23 10:21:38,998 INFO L273 TraceCheckUtils]: 78: Hoare triple {3309#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3309#false} is VALID [2018-11-23 10:21:38,998 INFO L273 TraceCheckUtils]: 79: Hoare triple {3309#false} assume !~bvslt32(~i~0, 20bv32); {3309#false} is VALID [2018-11-23 10:21:38,998 INFO L273 TraceCheckUtils]: 80: Hoare triple {3309#false} #res := ~ret~0[32:0]; {3309#false} is VALID [2018-11-23 10:21:38,999 INFO L273 TraceCheckUtils]: 81: Hoare triple {3309#false} assume true; {3309#false} is VALID [2018-11-23 10:21:38,999 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {3309#false} {3309#false} #81#return; {3309#false} is VALID [2018-11-23 10:21:38,999 INFO L273 TraceCheckUtils]: 83: Hoare triple {3309#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {3309#false} is VALID [2018-11-23 10:21:38,999 INFO L273 TraceCheckUtils]: 84: Hoare triple {3309#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3309#false} is VALID [2018-11-23 10:21:38,999 INFO L273 TraceCheckUtils]: 85: Hoare triple {3309#false} assume !false; {3309#false} is VALID [2018-11-23 10:21:39,006 INFO L134 CoverageAnalysis]: Checked inductivity of 437 backedges. 16 proven. 1 refuted. 0 times theorem prover too weak. 420 trivial. 0 not checked. [2018-11-23 10:21:39,007 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:39,150 INFO L273 TraceCheckUtils]: 85: Hoare triple {3309#false} assume !false; {3309#false} is VALID [2018-11-23 10:21:39,151 INFO L273 TraceCheckUtils]: 84: Hoare triple {3309#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3309#false} is VALID [2018-11-23 10:21:39,151 INFO L273 TraceCheckUtils]: 83: Hoare triple {3309#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {3309#false} is VALID [2018-11-23 10:21:39,151 INFO L268 TraceCheckUtils]: 82: Hoare quadruple {3308#true} {3309#false} #81#return; {3309#false} is VALID [2018-11-23 10:21:39,152 INFO L273 TraceCheckUtils]: 81: Hoare triple {3308#true} assume true; {3308#true} is VALID [2018-11-23 10:21:39,152 INFO L273 TraceCheckUtils]: 80: Hoare triple {3308#true} #res := ~ret~0[32:0]; {3308#true} is VALID [2018-11-23 10:21:39,152 INFO L273 TraceCheckUtils]: 79: Hoare triple {3308#true} assume !~bvslt32(~i~0, 20bv32); {3308#true} is VALID [2018-11-23 10:21:39,152 INFO L273 TraceCheckUtils]: 78: Hoare triple {3308#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3308#true} is VALID [2018-11-23 10:21:39,152 INFO L273 TraceCheckUtils]: 77: Hoare triple {3308#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3308#true} is VALID [2018-11-23 10:21:39,153 INFO L273 TraceCheckUtils]: 76: Hoare triple {3308#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3308#true} is VALID [2018-11-23 10:21:39,153 INFO L273 TraceCheckUtils]: 75: Hoare triple {3308#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3308#true} is VALID [2018-11-23 10:21:39,153 INFO L273 TraceCheckUtils]: 74: Hoare triple {3308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3308#true} is VALID [2018-11-23 10:21:39,153 INFO L256 TraceCheckUtils]: 73: Hoare triple {3309#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {3308#true} is VALID [2018-11-23 10:21:39,153 INFO L273 TraceCheckUtils]: 72: Hoare triple {3309#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {3309#false} is VALID [2018-11-23 10:21:39,153 INFO L273 TraceCheckUtils]: 71: Hoare triple {3309#false} assume !~bvslt32(~i~2, 19bv32); {3309#false} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 70: Hoare triple {3309#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {3309#false} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 69: Hoare triple {3309#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {3309#false} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 68: Hoare triple {3309#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {3309#false} is VALID [2018-11-23 10:21:39,154 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {3308#true} {3309#false} #79#return; {3309#false} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 66: Hoare triple {3308#true} assume true; {3308#true} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 65: Hoare triple {3308#true} #res := ~ret~0[32:0]; {3308#true} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 64: Hoare triple {3308#true} assume !~bvslt32(~i~0, 20bv32); {3308#true} is VALID [2018-11-23 10:21:39,154 INFO L273 TraceCheckUtils]: 63: Hoare triple {3308#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 62: Hoare triple {3308#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 61: Hoare triple {3308#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 60: Hoare triple {3308#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 59: Hoare triple {3308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L256 TraceCheckUtils]: 58: Hoare triple {3309#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {3308#true} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 57: Hoare triple {3309#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {3309#false} is VALID [2018-11-23 10:21:39,155 INFO L268 TraceCheckUtils]: 56: Hoare quadruple {3309#false} {3308#true} #77#return; {3309#false} is VALID [2018-11-23 10:21:39,155 INFO L273 TraceCheckUtils]: 55: Hoare triple {3309#false} assume true; {3309#false} is VALID [2018-11-23 10:21:39,156 INFO L273 TraceCheckUtils]: 54: Hoare triple {3309#false} #res := ~ret~0[32:0]; {3309#false} is VALID [2018-11-23 10:21:39,156 INFO L273 TraceCheckUtils]: 53: Hoare triple {3669#(bvslt max_~i~0 (_ bv20 32))} assume !~bvslt32(~i~0, 20bv32); {3309#false} is VALID [2018-11-23 10:21:39,156 INFO L273 TraceCheckUtils]: 52: Hoare triple {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3669#(bvslt max_~i~0 (_ bv20 32))} is VALID [2018-11-23 10:21:39,157 INFO L273 TraceCheckUtils]: 51: Hoare triple {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:39,157 INFO L273 TraceCheckUtils]: 50: Hoare triple {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:39,157 INFO L273 TraceCheckUtils]: 49: Hoare triple {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:39,158 INFO L273 TraceCheckUtils]: 48: Hoare triple {3308#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3673#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:39,158 INFO L256 TraceCheckUtils]: 47: Hoare triple {3308#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {3308#true} is VALID [2018-11-23 10:21:39,158 INFO L273 TraceCheckUtils]: 46: Hoare triple {3308#true} assume !~bvslt32(~i~1, 20bv32); {3308#true} is VALID [2018-11-23 10:21:39,158 INFO L273 TraceCheckUtils]: 45: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,158 INFO L273 TraceCheckUtils]: 44: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,158 INFO L273 TraceCheckUtils]: 43: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 42: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 41: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 40: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 39: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 38: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 37: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 36: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,159 INFO L273 TraceCheckUtils]: 35: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 34: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 33: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 32: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 31: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 30: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 29: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,160 INFO L273 TraceCheckUtils]: 28: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,161 INFO L273 TraceCheckUtils]: 27: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,161 INFO L273 TraceCheckUtils]: 26: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,161 INFO L273 TraceCheckUtils]: 25: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,161 INFO L273 TraceCheckUtils]: 24: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,161 INFO L273 TraceCheckUtils]: 23: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 22: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 21: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 20: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 19: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 18: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,162 INFO L273 TraceCheckUtils]: 17: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 16: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 15: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 14: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 13: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 12: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,163 INFO L273 TraceCheckUtils]: 11: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 10: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 9: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 8: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 7: Hoare triple {3308#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 6: Hoare triple {3308#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3308#true} is VALID [2018-11-23 10:21:39,164 INFO L273 TraceCheckUtils]: 5: Hoare triple {3308#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {3308#true} is VALID [2018-11-23 10:21:39,165 INFO L256 TraceCheckUtils]: 4: Hoare triple {3308#true} call #t~ret14 := main(); {3308#true} is VALID [2018-11-23 10:21:39,165 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3308#true} {3308#true} #73#return; {3308#true} is VALID [2018-11-23 10:21:39,165 INFO L273 TraceCheckUtils]: 2: Hoare triple {3308#true} assume true; {3308#true} is VALID [2018-11-23 10:21:39,165 INFO L273 TraceCheckUtils]: 1: Hoare triple {3308#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3308#true} is VALID [2018-11-23 10:21:39,165 INFO L256 TraceCheckUtils]: 0: Hoare triple {3308#true} call ULTIMATE.init(); {3308#true} is VALID [2018-11-23 10:21:39,170 INFO L134 CoverageAnalysis]: Checked inductivity of 437 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 416 trivial. 0 not checked. [2018-11-23 10:21:39,174 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:39,174 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:21:39,175 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 86 [2018-11-23 10:21:39,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:39,176 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:21:39,266 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:39,267 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:21:39,267 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:21:39,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:21:39,268 INFO L87 Difference]: Start difference. First operand 69 states and 74 transitions. Second operand 6 states. [2018-11-23 10:21:39,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:39,680 INFO L93 Difference]: Finished difference Result 102 states and 119 transitions. [2018-11-23 10:21:39,681 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:21:39,681 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 86 [2018-11-23 10:21:39,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:39,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:39,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 77 transitions. [2018-11-23 10:21:39,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:39,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 77 transitions. [2018-11-23 10:21:39,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 77 transitions. [2018-11-23 10:21:39,810 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:39,812 INFO L225 Difference]: With dead ends: 102 [2018-11-23 10:21:39,812 INFO L226 Difference]: Without dead ends: 81 [2018-11-23 10:21:39,813 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 168 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 10:21:39,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-11-23 10:21:39,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2018-11-23 10:21:39,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:39,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 81 states. [2018-11-23 10:21:39,878 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-23 10:21:39,878 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-23 10:21:39,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:39,883 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2018-11-23 10:21:39,883 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-23 10:21:39,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:39,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:39,883 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 81 states. [2018-11-23 10:21:39,883 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 81 states. [2018-11-23 10:21:39,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:39,886 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2018-11-23 10:21:39,886 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-23 10:21:39,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:39,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:39,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:39,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:39,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 10:21:39,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 89 transitions. [2018-11-23 10:21:39,889 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 89 transitions. Word has length 86 [2018-11-23 10:21:39,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:39,889 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 89 transitions. [2018-11-23 10:21:39,889 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:21:39,889 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 89 transitions. [2018-11-23 10:21:39,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2018-11-23 10:21:39,891 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:39,891 INFO L402 BasicCegarLoop]: trace histogram [20, 20, 12, 12, 12, 12, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:39,891 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:39,891 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:39,891 INFO L82 PathProgramCache]: Analyzing trace with hash -110316291, now seen corresponding path program 2 times [2018-11-23 10:21:39,892 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:39,892 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:39,910 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:21:40,108 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:21:40,109 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:40,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:40,191 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:40,518 INFO L256 TraceCheckUtils]: 0: Hoare triple {4256#true} call ULTIMATE.init(); {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L273 TraceCheckUtils]: 1: Hoare triple {4256#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L273 TraceCheckUtils]: 2: Hoare triple {4256#true} assume true; {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4256#true} {4256#true} #73#return; {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L256 TraceCheckUtils]: 4: Hoare triple {4256#true} call #t~ret14 := main(); {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L273 TraceCheckUtils]: 5: Hoare triple {4256#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L273 TraceCheckUtils]: 6: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,519 INFO L273 TraceCheckUtils]: 7: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 8: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 9: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 10: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 11: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 12: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 13: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 14: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,520 INFO L273 TraceCheckUtils]: 15: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 16: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 17: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 18: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 19: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 20: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 21: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,521 INFO L273 TraceCheckUtils]: 22: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,522 INFO L273 TraceCheckUtils]: 23: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,522 INFO L273 TraceCheckUtils]: 24: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,522 INFO L273 TraceCheckUtils]: 25: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,522 INFO L273 TraceCheckUtils]: 26: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,522 INFO L273 TraceCheckUtils]: 27: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 28: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 29: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 30: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 31: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 32: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,523 INFO L273 TraceCheckUtils]: 33: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 34: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 35: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 36: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 37: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 38: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,524 INFO L273 TraceCheckUtils]: 39: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,525 INFO L273 TraceCheckUtils]: 40: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,525 INFO L273 TraceCheckUtils]: 41: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,525 INFO L273 TraceCheckUtils]: 42: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,525 INFO L273 TraceCheckUtils]: 43: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,525 INFO L273 TraceCheckUtils]: 44: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:40,526 INFO L273 TraceCheckUtils]: 45: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:40,526 INFO L273 TraceCheckUtils]: 46: Hoare triple {4256#true} assume !~bvslt32(~i~1, 20bv32); {4256#true} is VALID [2018-11-23 10:21:40,526 INFO L256 TraceCheckUtils]: 47: Hoare triple {4256#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {4256#true} is VALID [2018-11-23 10:21:40,540 INFO L273 TraceCheckUtils]: 48: Hoare triple {4256#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4405#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:40,545 INFO L273 TraceCheckUtils]: 49: Hoare triple {4405#(= (_ bv0 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4405#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:40,545 INFO L273 TraceCheckUtils]: 50: Hoare triple {4405#(= (_ bv0 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4405#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:40,548 INFO L273 TraceCheckUtils]: 51: Hoare triple {4405#(= (_ bv0 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4405#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:40,548 INFO L273 TraceCheckUtils]: 52: Hoare triple {4405#(= (_ bv0 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4418#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:40,550 INFO L273 TraceCheckUtils]: 53: Hoare triple {4418#(= (_ bv1 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4418#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:40,550 INFO L273 TraceCheckUtils]: 54: Hoare triple {4418#(= (_ bv1 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4418#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:40,552 INFO L273 TraceCheckUtils]: 55: Hoare triple {4418#(= (_ bv1 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4418#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:40,552 INFO L273 TraceCheckUtils]: 56: Hoare triple {4418#(= (_ bv1 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4431#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:40,554 INFO L273 TraceCheckUtils]: 57: Hoare triple {4431#(= (_ bv2 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4431#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:40,554 INFO L273 TraceCheckUtils]: 58: Hoare triple {4431#(= (_ bv2 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4431#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:40,554 INFO L273 TraceCheckUtils]: 59: Hoare triple {4431#(= (_ bv2 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4431#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:40,555 INFO L273 TraceCheckUtils]: 60: Hoare triple {4431#(= (_ bv2 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4444#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:40,555 INFO L273 TraceCheckUtils]: 61: Hoare triple {4444#(= (_ bv3 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4444#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:40,555 INFO L273 TraceCheckUtils]: 62: Hoare triple {4444#(= (_ bv3 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4444#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:40,556 INFO L273 TraceCheckUtils]: 63: Hoare triple {4444#(= (_ bv3 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4444#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:40,556 INFO L273 TraceCheckUtils]: 64: Hoare triple {4444#(= (_ bv3 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4457#(= (_ bv4 32) max_~i~0)} is VALID [2018-11-23 10:21:40,556 INFO L273 TraceCheckUtils]: 65: Hoare triple {4457#(= (_ bv4 32) max_~i~0)} assume !~bvslt32(~i~0, 20bv32); {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 66: Hoare triple {4257#false} #res := ~ret~0[32:0]; {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 67: Hoare triple {4257#false} assume true; {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {4257#false} {4256#true} #77#return; {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 69: Hoare triple {4257#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L256 TraceCheckUtils]: 70: Hoare triple {4257#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 71: Hoare triple {4257#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 72: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,557 INFO L273 TraceCheckUtils]: 73: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 74: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 75: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 76: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 77: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 78: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 79: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 80: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,558 INFO L273 TraceCheckUtils]: 81: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 82: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 83: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 84: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 85: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 86: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 87: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 88: Hoare triple {4257#false} assume !~bvslt32(~i~0, 20bv32); {4257#false} is VALID [2018-11-23 10:21:40,559 INFO L273 TraceCheckUtils]: 89: Hoare triple {4257#false} #res := ~ret~0[32:0]; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 90: Hoare triple {4257#false} assume true; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {4257#false} {4257#false} #79#return; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 92: Hoare triple {4257#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 93: Hoare triple {4257#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 94: Hoare triple {4257#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 95: Hoare triple {4257#false} assume !~bvslt32(~i~2, 19bv32); {4257#false} is VALID [2018-11-23 10:21:40,560 INFO L273 TraceCheckUtils]: 96: Hoare triple {4257#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L256 TraceCheckUtils]: 97: Hoare triple {4257#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 98: Hoare triple {4257#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 99: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 100: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 101: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 102: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 103: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,561 INFO L273 TraceCheckUtils]: 104: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 105: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 106: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 107: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 108: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 109: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 110: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 111: Hoare triple {4257#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4257#false} is VALID [2018-11-23 10:21:40,562 INFO L273 TraceCheckUtils]: 112: Hoare triple {4257#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L273 TraceCheckUtils]: 113: Hoare triple {4257#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L273 TraceCheckUtils]: 114: Hoare triple {4257#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L273 TraceCheckUtils]: 115: Hoare triple {4257#false} assume !~bvslt32(~i~0, 20bv32); {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L273 TraceCheckUtils]: 116: Hoare triple {4257#false} #res := ~ret~0[32:0]; {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L273 TraceCheckUtils]: 117: Hoare triple {4257#false} assume true; {4257#false} is VALID [2018-11-23 10:21:40,563 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {4257#false} {4257#false} #81#return; {4257#false} is VALID [2018-11-23 10:21:40,564 INFO L273 TraceCheckUtils]: 119: Hoare triple {4257#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {4257#false} is VALID [2018-11-23 10:21:40,564 INFO L273 TraceCheckUtils]: 120: Hoare triple {4257#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4257#false} is VALID [2018-11-23 10:21:40,564 INFO L273 TraceCheckUtils]: 121: Hoare triple {4257#false} assume !false; {4257#false} is VALID [2018-11-23 10:21:40,573 INFO L134 CoverageAnalysis]: Checked inductivity of 716 backedges. 148 proven. 28 refuted. 0 times theorem prover too weak. 540 trivial. 0 not checked. [2018-11-23 10:21:40,573 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:41,026 INFO L273 TraceCheckUtils]: 121: Hoare triple {4257#false} assume !false; {4257#false} is VALID [2018-11-23 10:21:41,026 INFO L273 TraceCheckUtils]: 120: Hoare triple {4257#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4257#false} is VALID [2018-11-23 10:21:41,026 INFO L273 TraceCheckUtils]: 119: Hoare triple {4257#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {4257#false} is VALID [2018-11-23 10:21:41,027 INFO L268 TraceCheckUtils]: 118: Hoare quadruple {4256#true} {4257#false} #81#return; {4257#false} is VALID [2018-11-23 10:21:41,027 INFO L273 TraceCheckUtils]: 117: Hoare triple {4256#true} assume true; {4256#true} is VALID [2018-11-23 10:21:41,027 INFO L273 TraceCheckUtils]: 116: Hoare triple {4256#true} #res := ~ret~0[32:0]; {4256#true} is VALID [2018-11-23 10:21:41,027 INFO L273 TraceCheckUtils]: 115: Hoare triple {4256#true} assume !~bvslt32(~i~0, 20bv32); {4256#true} is VALID [2018-11-23 10:21:41,027 INFO L273 TraceCheckUtils]: 114: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 113: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 112: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 111: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 110: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 109: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,028 INFO L273 TraceCheckUtils]: 108: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,029 INFO L273 TraceCheckUtils]: 107: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,029 INFO L273 TraceCheckUtils]: 106: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,029 INFO L273 TraceCheckUtils]: 105: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,029 INFO L273 TraceCheckUtils]: 104: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,029 INFO L273 TraceCheckUtils]: 103: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L273 TraceCheckUtils]: 102: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L273 TraceCheckUtils]: 101: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L273 TraceCheckUtils]: 100: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L273 TraceCheckUtils]: 99: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L273 TraceCheckUtils]: 98: Hoare triple {4256#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4256#true} is VALID [2018-11-23 10:21:41,030 INFO L256 TraceCheckUtils]: 97: Hoare triple {4257#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {4256#true} is VALID [2018-11-23 10:21:41,031 INFO L273 TraceCheckUtils]: 96: Hoare triple {4257#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {4257#false} is VALID [2018-11-23 10:21:41,031 INFO L273 TraceCheckUtils]: 95: Hoare triple {4257#false} assume !~bvslt32(~i~2, 19bv32); {4257#false} is VALID [2018-11-23 10:21:41,031 INFO L273 TraceCheckUtils]: 94: Hoare triple {4257#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4257#false} is VALID [2018-11-23 10:21:41,031 INFO L273 TraceCheckUtils]: 93: Hoare triple {4257#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {4257#false} is VALID [2018-11-23 10:21:41,031 INFO L273 TraceCheckUtils]: 92: Hoare triple {4257#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {4257#false} is VALID [2018-11-23 10:21:41,031 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {4256#true} {4257#false} #79#return; {4257#false} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 90: Hoare triple {4256#true} assume true; {4256#true} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 89: Hoare triple {4256#true} #res := ~ret~0[32:0]; {4256#true} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 88: Hoare triple {4256#true} assume !~bvslt32(~i~0, 20bv32); {4256#true} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 87: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 86: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,032 INFO L273 TraceCheckUtils]: 85: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,033 INFO L273 TraceCheckUtils]: 84: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,033 INFO L273 TraceCheckUtils]: 83: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,033 INFO L273 TraceCheckUtils]: 82: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,033 INFO L273 TraceCheckUtils]: 81: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,033 INFO L273 TraceCheckUtils]: 80: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 79: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 78: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 77: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 76: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 75: Hoare triple {4256#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4256#true} is VALID [2018-11-23 10:21:41,034 INFO L273 TraceCheckUtils]: 74: Hoare triple {4256#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4256#true} is VALID [2018-11-23 10:21:41,035 INFO L273 TraceCheckUtils]: 73: Hoare triple {4256#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4256#true} is VALID [2018-11-23 10:21:41,035 INFO L273 TraceCheckUtils]: 72: Hoare triple {4256#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4256#true} is VALID [2018-11-23 10:21:41,035 INFO L273 TraceCheckUtils]: 71: Hoare triple {4256#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4256#true} is VALID [2018-11-23 10:21:41,035 INFO L256 TraceCheckUtils]: 70: Hoare triple {4257#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {4256#true} is VALID [2018-11-23 10:21:41,035 INFO L273 TraceCheckUtils]: 69: Hoare triple {4257#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {4257#false} is VALID [2018-11-23 10:21:41,035 INFO L268 TraceCheckUtils]: 68: Hoare quadruple {4257#false} {4256#true} #77#return; {4257#false} is VALID [2018-11-23 10:21:41,036 INFO L273 TraceCheckUtils]: 67: Hoare triple {4257#false} assume true; {4257#false} is VALID [2018-11-23 10:21:41,036 INFO L273 TraceCheckUtils]: 66: Hoare triple {4257#false} #res := ~ret~0[32:0]; {4257#false} is VALID [2018-11-23 10:21:41,049 INFO L273 TraceCheckUtils]: 65: Hoare triple {4800#(bvslt max_~i~0 (_ bv20 32))} assume !~bvslt32(~i~0, 20bv32); {4257#false} is VALID [2018-11-23 10:21:41,063 INFO L273 TraceCheckUtils]: 64: Hoare triple {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4800#(bvslt max_~i~0 (_ bv20 32))} is VALID [2018-11-23 10:21:41,066 INFO L273 TraceCheckUtils]: 63: Hoare triple {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,067 INFO L273 TraceCheckUtils]: 62: Hoare triple {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,067 INFO L273 TraceCheckUtils]: 61: Hoare triple {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,071 INFO L273 TraceCheckUtils]: 60: Hoare triple {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4804#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,071 INFO L273 TraceCheckUtils]: 59: Hoare triple {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,071 INFO L273 TraceCheckUtils]: 58: Hoare triple {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,072 INFO L273 TraceCheckUtils]: 57: Hoare triple {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,074 INFO L273 TraceCheckUtils]: 56: Hoare triple {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4817#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,075 INFO L273 TraceCheckUtils]: 55: Hoare triple {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,076 INFO L273 TraceCheckUtils]: 54: Hoare triple {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,076 INFO L273 TraceCheckUtils]: 53: Hoare triple {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,079 INFO L273 TraceCheckUtils]: 52: Hoare triple {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4830#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,079 INFO L273 TraceCheckUtils]: 51: Hoare triple {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,079 INFO L273 TraceCheckUtils]: 50: Hoare triple {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,080 INFO L273 TraceCheckUtils]: 49: Hoare triple {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 48: Hoare triple {4256#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4843#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:41,081 INFO L256 TraceCheckUtils]: 47: Hoare triple {4256#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {4256#true} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 46: Hoare triple {4256#true} assume !~bvslt32(~i~1, 20bv32); {4256#true} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 45: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 44: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 43: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,081 INFO L273 TraceCheckUtils]: 42: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 41: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 40: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 39: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 38: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 37: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 36: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 35: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,082 INFO L273 TraceCheckUtils]: 34: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 33: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 32: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 31: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 30: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 29: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 28: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 27: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 26: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,083 INFO L273 TraceCheckUtils]: 25: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 24: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 23: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 22: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 21: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 20: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 19: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 18: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,084 INFO L273 TraceCheckUtils]: 17: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 16: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 15: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 14: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 13: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 12: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 11: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 10: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,085 INFO L273 TraceCheckUtils]: 9: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 8: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 7: Hoare triple {4256#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 6: Hoare triple {4256#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 5: Hoare triple {4256#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L256 TraceCheckUtils]: 4: Hoare triple {4256#true} call #t~ret14 := main(); {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4256#true} {4256#true} #73#return; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 2: Hoare triple {4256#true} assume true; {4256#true} is VALID [2018-11-23 10:21:41,086 INFO L273 TraceCheckUtils]: 1: Hoare triple {4256#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4256#true} is VALID [2018-11-23 10:21:41,087 INFO L256 TraceCheckUtils]: 0: Hoare triple {4256#true} call ULTIMATE.init(); {4256#true} is VALID [2018-11-23 10:21:41,097 INFO L134 CoverageAnalysis]: Checked inductivity of 716 backedges. 0 proven. 180 refuted. 0 times theorem prover too weak. 536 trivial. 0 not checked. [2018-11-23 10:21:41,099 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:41,099 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 10:21:41,100 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 122 [2018-11-23 10:21:41,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:41,102 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 10:21:41,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:41,307 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 10:21:41,307 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 10:21:41,307 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=86, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:21:41,307 INFO L87 Difference]: Start difference. First operand 81 states and 89 transitions. Second operand 12 states. [2018-11-23 10:21:42,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:42,439 INFO L93 Difference]: Finished difference Result 138 states and 167 transitions. [2018-11-23 10:21:42,439 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-23 10:21:42,439 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 122 [2018-11-23 10:21:42,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:42,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:21:42,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2018-11-23 10:21:42,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:21:42,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 110 transitions. [2018-11-23 10:21:42,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 110 transitions. [2018-11-23 10:21:42,706 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:42,710 INFO L225 Difference]: With dead ends: 138 [2018-11-23 10:21:42,710 INFO L226 Difference]: Without dead ends: 105 [2018-11-23 10:21:42,711 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 251 GetRequests, 237 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=94, Invalid=146, Unknown=0, NotChecked=0, Total=240 [2018-11-23 10:21:42,712 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-11-23 10:21:42,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 105. [2018-11-23 10:21:42,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:42,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 105 states. [2018-11-23 10:21:42,757 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 105 states. [2018-11-23 10:21:42,757 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 105 states. [2018-11-23 10:21:42,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:42,762 INFO L93 Difference]: Finished difference Result 105 states and 119 transitions. [2018-11-23 10:21:42,762 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 119 transitions. [2018-11-23 10:21:42,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:42,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:42,763 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 105 states. [2018-11-23 10:21:42,764 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 105 states. [2018-11-23 10:21:42,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:42,768 INFO L93 Difference]: Finished difference Result 105 states and 119 transitions. [2018-11-23 10:21:42,768 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 119 transitions. [2018-11-23 10:21:42,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:42,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:42,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:42,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:42,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-11-23 10:21:42,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 119 transitions. [2018-11-23 10:21:42,773 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 119 transitions. Word has length 122 [2018-11-23 10:21:42,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:42,774 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 119 transitions. [2018-11-23 10:21:42,774 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 10:21:42,774 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 119 transitions. [2018-11-23 10:21:42,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 195 [2018-11-23 10:21:42,777 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:42,777 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 30, 30, 20, 20, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:42,777 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:42,778 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:42,778 INFO L82 PathProgramCache]: Analyzing trace with hash -881120993, now seen corresponding path program 3 times [2018-11-23 10:21:42,779 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:42,779 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:42,807 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:21:42,946 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 10:21:42,946 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:43,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:43,012 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:43,281 INFO L256 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2018-11-23 10:21:43,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {5558#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5558#true} is VALID [2018-11-23 10:21:43,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,282 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #73#return; {5558#true} is VALID [2018-11-23 10:21:43,282 INFO L256 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret14 := main(); {5558#true} is VALID [2018-11-23 10:21:43,282 INFO L273 TraceCheckUtils]: 5: Hoare triple {5558#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 6: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 7: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 9: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 10: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 11: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,283 INFO L273 TraceCheckUtils]: 12: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 13: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 14: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 15: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 16: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 17: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 18: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 19: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,284 INFO L273 TraceCheckUtils]: 21: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 22: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 23: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 24: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 25: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 26: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 27: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 28: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,285 INFO L273 TraceCheckUtils]: 29: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 30: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 31: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 33: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 34: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 35: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 36: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,286 INFO L273 TraceCheckUtils]: 37: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 38: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 39: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 40: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 41: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 43: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 44: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,287 INFO L273 TraceCheckUtils]: 45: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 46: Hoare triple {5558#true} assume !~bvslt32(~i~1, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L256 TraceCheckUtils]: 47: Hoare triple {5558#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 48: Hoare triple {5558#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 50: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 51: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 52: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,288 INFO L273 TraceCheckUtils]: 53: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 54: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 55: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 56: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 57: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 58: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 59: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 60: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,289 INFO L273 TraceCheckUtils]: 61: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 62: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 63: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 64: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 65: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 66: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 67: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 68: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,290 INFO L273 TraceCheckUtils]: 69: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 70: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 71: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 72: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 73: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 74: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 75: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 76: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,291 INFO L273 TraceCheckUtils]: 77: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,292 INFO L273 TraceCheckUtils]: 78: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,292 INFO L273 TraceCheckUtils]: 79: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,292 INFO L273 TraceCheckUtils]: 80: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,292 INFO L273 TraceCheckUtils]: 81: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,292 INFO L273 TraceCheckUtils]: 82: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 83: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 84: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 85: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 86: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 87: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,293 INFO L273 TraceCheckUtils]: 88: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L273 TraceCheckUtils]: 89: Hoare triple {5558#true} assume !~bvslt32(~i~0, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L273 TraceCheckUtils]: 90: Hoare triple {5558#true} #res := ~ret~0[32:0]; {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L273 TraceCheckUtils]: 91: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {5558#true} {5558#true} #77#return; {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L273 TraceCheckUtils]: 93: Hoare triple {5558#true} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,294 INFO L256 TraceCheckUtils]: 94: Hoare triple {5558#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 95: Hoare triple {5558#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 96: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 97: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 98: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 99: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,295 INFO L273 TraceCheckUtils]: 100: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 101: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 102: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 103: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 104: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 105: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,296 INFO L273 TraceCheckUtils]: 106: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 107: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 108: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 109: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 110: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 111: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,297 INFO L273 TraceCheckUtils]: 112: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 113: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 114: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 115: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 116: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 117: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,298 INFO L273 TraceCheckUtils]: 118: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 119: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 120: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 121: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 122: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 123: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,299 INFO L273 TraceCheckUtils]: 124: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 125: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 126: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 127: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 128: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 129: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,300 INFO L273 TraceCheckUtils]: 130: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 131: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 132: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 133: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 134: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 135: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,301 INFO L273 TraceCheckUtils]: 136: Hoare triple {5558#true} assume !~bvslt32(~i~0, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,302 INFO L273 TraceCheckUtils]: 137: Hoare triple {5558#true} #res := ~ret~0[32:0]; {5558#true} is VALID [2018-11-23 10:21:43,302 INFO L273 TraceCheckUtils]: 138: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,302 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {5558#true} {5558#true} #79#return; {5558#true} is VALID [2018-11-23 10:21:43,303 INFO L273 TraceCheckUtils]: 140: Hoare triple {5558#true} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {5983#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:21:43,304 INFO L273 TraceCheckUtils]: 141: Hoare triple {5983#(= main_~i~2 (_ bv0 32))} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {5983#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:21:43,304 INFO L273 TraceCheckUtils]: 142: Hoare triple {5983#(= main_~i~2 (_ bv0 32))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {5990#(= (_ bv1 32) main_~i~2)} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 143: Hoare triple {5990#(= (_ bv1 32) main_~i~2)} assume !~bvslt32(~i~2, 19bv32); {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 144: Hoare triple {5559#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L256 TraceCheckUtils]: 145: Hoare triple {5559#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 146: Hoare triple {5559#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 147: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 148: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,306 INFO L273 TraceCheckUtils]: 149: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 150: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 151: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 152: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 153: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 154: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,307 INFO L273 TraceCheckUtils]: 155: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 156: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 157: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 158: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 159: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 160: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 161: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,308 INFO L273 TraceCheckUtils]: 162: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 163: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 164: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 165: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 166: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 167: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 168: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 169: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,309 INFO L273 TraceCheckUtils]: 170: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 171: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 172: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 173: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 174: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 175: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 176: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 177: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,310 INFO L273 TraceCheckUtils]: 178: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 179: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 180: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 181: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 182: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 183: Hoare triple {5559#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 184: Hoare triple {5559#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 185: Hoare triple {5559#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5559#false} is VALID [2018-11-23 10:21:43,311 INFO L273 TraceCheckUtils]: 186: Hoare triple {5559#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 187: Hoare triple {5559#false} assume !~bvslt32(~i~0, 20bv32); {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 188: Hoare triple {5559#false} #res := ~ret~0[32:0]; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 189: Hoare triple {5559#false} assume true; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L268 TraceCheckUtils]: 190: Hoare quadruple {5559#false} {5559#false} #81#return; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 191: Hoare triple {5559#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 192: Hoare triple {5559#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5559#false} is VALID [2018-11-23 10:21:43,312 INFO L273 TraceCheckUtils]: 193: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2018-11-23 10:21:43,328 INFO L134 CoverageAnalysis]: Checked inductivity of 2246 backedges. 850 proven. 1 refuted. 0 times theorem prover too weak. 1395 trivial. 0 not checked. [2018-11-23 10:21:43,328 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:43,535 INFO L273 TraceCheckUtils]: 193: Hoare triple {5559#false} assume !false; {5559#false} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 192: Hoare triple {5559#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5559#false} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 191: Hoare triple {5559#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {5559#false} is VALID [2018-11-23 10:21:43,536 INFO L268 TraceCheckUtils]: 190: Hoare quadruple {5558#true} {5559#false} #81#return; {5559#false} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 189: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 188: Hoare triple {5558#true} #res := ~ret~0[32:0]; {5558#true} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 187: Hoare triple {5558#true} assume !~bvslt32(~i~0, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 186: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,536 INFO L273 TraceCheckUtils]: 185: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 184: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 183: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 182: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 181: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 180: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 179: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 178: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,537 INFO L273 TraceCheckUtils]: 177: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 176: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 175: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 174: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 173: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 172: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 171: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 170: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,538 INFO L273 TraceCheckUtils]: 169: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 168: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 167: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 166: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 165: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 164: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 163: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 162: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,539 INFO L273 TraceCheckUtils]: 161: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 160: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 159: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 158: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 157: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 156: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 155: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 154: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,540 INFO L273 TraceCheckUtils]: 153: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 152: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 151: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 150: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 149: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 148: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 147: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 146: Hoare triple {5558#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L256 TraceCheckUtils]: 145: Hoare triple {5559#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {5558#true} is VALID [2018-11-23 10:21:43,541 INFO L273 TraceCheckUtils]: 144: Hoare triple {5559#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {5559#false} is VALID [2018-11-23 10:21:43,542 INFO L273 TraceCheckUtils]: 143: Hoare triple {6294#(bvslt main_~i~2 (_ bv19 32))} assume !~bvslt32(~i~2, 19bv32); {5559#false} is VALID [2018-11-23 10:21:43,542 INFO L273 TraceCheckUtils]: 142: Hoare triple {6298#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv19 32))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {6294#(bvslt main_~i~2 (_ bv19 32))} is VALID [2018-11-23 10:21:43,543 INFO L273 TraceCheckUtils]: 141: Hoare triple {6298#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv19 32))} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {6298#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv19 32))} is VALID [2018-11-23 10:21:43,543 INFO L273 TraceCheckUtils]: 140: Hoare triple {5558#true} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {6298#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv19 32))} is VALID [2018-11-23 10:21:43,543 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {5558#true} {5558#true} #79#return; {5558#true} is VALID [2018-11-23 10:21:43,543 INFO L273 TraceCheckUtils]: 138: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,543 INFO L273 TraceCheckUtils]: 137: Hoare triple {5558#true} #res := ~ret~0[32:0]; {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 136: Hoare triple {5558#true} assume !~bvslt32(~i~0, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 135: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 134: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 133: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 132: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 131: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 130: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,544 INFO L273 TraceCheckUtils]: 129: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 128: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 127: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 126: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 125: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 124: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 123: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 122: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,545 INFO L273 TraceCheckUtils]: 121: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 120: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 119: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 118: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 117: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 116: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 115: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 114: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 113: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,546 INFO L273 TraceCheckUtils]: 112: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 111: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 110: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 109: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 108: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 107: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 106: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,547 INFO L273 TraceCheckUtils]: 105: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,548 INFO L273 TraceCheckUtils]: 104: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,548 INFO L273 TraceCheckUtils]: 103: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,548 INFO L273 TraceCheckUtils]: 102: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,548 INFO L273 TraceCheckUtils]: 101: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,548 INFO L273 TraceCheckUtils]: 100: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L273 TraceCheckUtils]: 99: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L273 TraceCheckUtils]: 98: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L273 TraceCheckUtils]: 97: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L273 TraceCheckUtils]: 96: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L273 TraceCheckUtils]: 95: Hoare triple {5558#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,549 INFO L256 TraceCheckUtils]: 94: Hoare triple {5558#true} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L273 TraceCheckUtils]: 93: Hoare triple {5558#true} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {5558#true} {5558#true} #77#return; {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L273 TraceCheckUtils]: 91: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L273 TraceCheckUtils]: 90: Hoare triple {5558#true} #res := ~ret~0[32:0]; {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L273 TraceCheckUtils]: 89: Hoare triple {5558#true} assume !~bvslt32(~i~0, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,550 INFO L273 TraceCheckUtils]: 88: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 87: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 86: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 85: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 84: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 83: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,551 INFO L273 TraceCheckUtils]: 82: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 81: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 80: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 79: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 78: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 77: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,552 INFO L273 TraceCheckUtils]: 76: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 75: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 74: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 73: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 72: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 71: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,553 INFO L273 TraceCheckUtils]: 70: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 69: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 68: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 67: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 66: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 65: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,554 INFO L273 TraceCheckUtils]: 64: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 63: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 62: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 61: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 60: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 59: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,555 INFO L273 TraceCheckUtils]: 58: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,556 INFO L273 TraceCheckUtils]: 57: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,556 INFO L273 TraceCheckUtils]: 56: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,556 INFO L273 TraceCheckUtils]: 55: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,556 INFO L273 TraceCheckUtils]: 54: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,556 INFO L273 TraceCheckUtils]: 53: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L273 TraceCheckUtils]: 52: Hoare triple {5558#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L273 TraceCheckUtils]: 51: Hoare triple {5558#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L273 TraceCheckUtils]: 50: Hoare triple {5558#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L273 TraceCheckUtils]: 49: Hoare triple {5558#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L273 TraceCheckUtils]: 48: Hoare triple {5558#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,557 INFO L256 TraceCheckUtils]: 47: Hoare triple {5558#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 46: Hoare triple {5558#true} assume !~bvslt32(~i~1, 20bv32); {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 45: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 44: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 43: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 42: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,558 INFO L273 TraceCheckUtils]: 41: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 40: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 39: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 38: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 37: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 36: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,559 INFO L273 TraceCheckUtils]: 35: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 34: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 33: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 32: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 31: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 30: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 29: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,560 INFO L273 TraceCheckUtils]: 28: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 27: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 26: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 25: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 24: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 23: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 22: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 21: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,561 INFO L273 TraceCheckUtils]: 20: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 19: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 18: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 17: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 16: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 15: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 14: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 13: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,562 INFO L273 TraceCheckUtils]: 12: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 11: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 10: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 9: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 8: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 7: Hoare triple {5558#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 6: Hoare triple {5558#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L273 TraceCheckUtils]: 5: Hoare triple {5558#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {5558#true} is VALID [2018-11-23 10:21:43,563 INFO L256 TraceCheckUtils]: 4: Hoare triple {5558#true} call #t~ret14 := main(); {5558#true} is VALID [2018-11-23 10:21:43,564 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5558#true} {5558#true} #73#return; {5558#true} is VALID [2018-11-23 10:21:43,564 INFO L273 TraceCheckUtils]: 2: Hoare triple {5558#true} assume true; {5558#true} is VALID [2018-11-23 10:21:43,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {5558#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5558#true} is VALID [2018-11-23 10:21:43,564 INFO L256 TraceCheckUtils]: 0: Hoare triple {5558#true} call ULTIMATE.init(); {5558#true} is VALID [2018-11-23 10:21:43,579 INFO L134 CoverageAnalysis]: Checked inductivity of 2246 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2245 trivial. 0 not checked. [2018-11-23 10:21:43,581 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:43,581 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:21:43,582 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 194 [2018-11-23 10:21:43,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:43,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:21:43,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:43,650 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:21:43,651 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:21:43,651 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:21:43,651 INFO L87 Difference]: Start difference. First operand 105 states and 119 transitions. Second operand 6 states. [2018-11-23 10:21:43,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:43,964 INFO L93 Difference]: Finished difference Result 162 states and 189 transitions. [2018-11-23 10:21:43,965 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:21:43,965 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 194 [2018-11-23 10:21:43,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:43,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:43,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-11-23 10:21:43,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:21:43,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-11-23 10:21:43,968 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-11-23 10:21:44,073 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:44,078 INFO L225 Difference]: With dead ends: 162 [2018-11-23 10:21:44,078 INFO L226 Difference]: Without dead ends: 111 [2018-11-23 10:21:44,079 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 388 GetRequests, 383 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-11-23 10:21:44,079 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-11-23 10:21:44,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2018-11-23 10:21:44,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:44,220 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2018-11-23 10:21:44,220 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2018-11-23 10:21:44,221 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2018-11-23 10:21:44,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:44,224 INFO L93 Difference]: Finished difference Result 111 states and 125 transitions. [2018-11-23 10:21:44,224 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-23 10:21:44,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:44,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:44,225 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2018-11-23 10:21:44,225 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2018-11-23 10:21:44,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:44,228 INFO L93 Difference]: Finished difference Result 111 states and 125 transitions. [2018-11-23 10:21:44,229 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-23 10:21:44,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:44,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:44,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:44,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:44,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 10:21:44,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 125 transitions. [2018-11-23 10:21:44,233 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 125 transitions. Word has length 194 [2018-11-23 10:21:44,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:44,233 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 125 transitions. [2018-11-23 10:21:44,233 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:21:44,233 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 125 transitions. [2018-11-23 10:21:44,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 201 [2018-11-23 10:21:44,235 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:44,236 INFO L402 BasicCegarLoop]: trace histogram [30, 30, 30, 30, 20, 20, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:44,236 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:44,236 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:44,236 INFO L82 PathProgramCache]: Analyzing trace with hash -1709564615, now seen corresponding path program 4 times [2018-11-23 10:21:44,237 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:44,237 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:44,253 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 10:21:44,578 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 10:21:44,578 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:21:44,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:21:44,791 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:21:45,030 INFO L256 TraceCheckUtils]: 0: Hoare triple {7327#true} call ULTIMATE.init(); {7327#true} is VALID [2018-11-23 10:21:45,030 INFO L273 TraceCheckUtils]: 1: Hoare triple {7327#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7327#true} is VALID [2018-11-23 10:21:45,030 INFO L273 TraceCheckUtils]: 2: Hoare triple {7327#true} assume true; {7327#true} is VALID [2018-11-23 10:21:45,031 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7327#true} {7327#true} #73#return; {7327#true} is VALID [2018-11-23 10:21:45,031 INFO L256 TraceCheckUtils]: 4: Hoare triple {7327#true} call #t~ret14 := main(); {7327#true} is VALID [2018-11-23 10:21:45,031 INFO L273 TraceCheckUtils]: 5: Hoare triple {7327#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {7327#true} is VALID [2018-11-23 10:21:45,031 INFO L273 TraceCheckUtils]: 6: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,032 INFO L273 TraceCheckUtils]: 7: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,032 INFO L273 TraceCheckUtils]: 8: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,032 INFO L273 TraceCheckUtils]: 9: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,032 INFO L273 TraceCheckUtils]: 10: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,032 INFO L273 TraceCheckUtils]: 11: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 12: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 13: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 14: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 15: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 16: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,033 INFO L273 TraceCheckUtils]: 17: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 18: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 19: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 20: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 21: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 22: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 23: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 24: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 25: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,034 INFO L273 TraceCheckUtils]: 26: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 27: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 28: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 29: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 30: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 31: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 32: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 33: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,035 INFO L273 TraceCheckUtils]: 34: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 35: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 36: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 37: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 38: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 39: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 40: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 41: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,036 INFO L273 TraceCheckUtils]: 42: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,037 INFO L273 TraceCheckUtils]: 43: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,037 INFO L273 TraceCheckUtils]: 44: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,037 INFO L273 TraceCheckUtils]: 45: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,037 INFO L273 TraceCheckUtils]: 46: Hoare triple {7327#true} assume !~bvslt32(~i~1, 20bv32); {7327#true} is VALID [2018-11-23 10:21:45,037 INFO L256 TraceCheckUtils]: 47: Hoare triple {7327#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {7327#true} is VALID [2018-11-23 10:21:45,038 INFO L273 TraceCheckUtils]: 48: Hoare triple {7327#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7476#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:45,038 INFO L273 TraceCheckUtils]: 49: Hoare triple {7476#(= (_ bv0 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7476#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:45,038 INFO L273 TraceCheckUtils]: 50: Hoare triple {7476#(= (_ bv0 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7476#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:45,039 INFO L273 TraceCheckUtils]: 51: Hoare triple {7476#(= (_ bv0 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7476#(= (_ bv0 32) max_~i~0)} is VALID [2018-11-23 10:21:45,058 INFO L273 TraceCheckUtils]: 52: Hoare triple {7476#(= (_ bv0 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7489#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:45,059 INFO L273 TraceCheckUtils]: 53: Hoare triple {7489#(= (_ bv1 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7489#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:45,059 INFO L273 TraceCheckUtils]: 54: Hoare triple {7489#(= (_ bv1 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7489#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:45,059 INFO L273 TraceCheckUtils]: 55: Hoare triple {7489#(= (_ bv1 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7489#(= (_ bv1 32) max_~i~0)} is VALID [2018-11-23 10:21:45,060 INFO L273 TraceCheckUtils]: 56: Hoare triple {7489#(= (_ bv1 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7502#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:45,060 INFO L273 TraceCheckUtils]: 57: Hoare triple {7502#(= (_ bv2 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7502#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:45,060 INFO L273 TraceCheckUtils]: 58: Hoare triple {7502#(= (_ bv2 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7502#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:45,061 INFO L273 TraceCheckUtils]: 59: Hoare triple {7502#(= (_ bv2 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7502#(= (_ bv2 32) max_~i~0)} is VALID [2018-11-23 10:21:45,061 INFO L273 TraceCheckUtils]: 60: Hoare triple {7502#(= (_ bv2 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7515#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:45,061 INFO L273 TraceCheckUtils]: 61: Hoare triple {7515#(= (_ bv3 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7515#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:45,062 INFO L273 TraceCheckUtils]: 62: Hoare triple {7515#(= (_ bv3 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7515#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:45,062 INFO L273 TraceCheckUtils]: 63: Hoare triple {7515#(= (_ bv3 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7515#(= (_ bv3 32) max_~i~0)} is VALID [2018-11-23 10:21:45,062 INFO L273 TraceCheckUtils]: 64: Hoare triple {7515#(= (_ bv3 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7528#(= (_ bv4 32) max_~i~0)} is VALID [2018-11-23 10:21:45,063 INFO L273 TraceCheckUtils]: 65: Hoare triple {7528#(= (_ bv4 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7528#(= (_ bv4 32) max_~i~0)} is VALID [2018-11-23 10:21:45,064 INFO L273 TraceCheckUtils]: 66: Hoare triple {7528#(= (_ bv4 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7528#(= (_ bv4 32) max_~i~0)} is VALID [2018-11-23 10:21:45,064 INFO L273 TraceCheckUtils]: 67: Hoare triple {7528#(= (_ bv4 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7528#(= (_ bv4 32) max_~i~0)} is VALID [2018-11-23 10:21:45,065 INFO L273 TraceCheckUtils]: 68: Hoare triple {7528#(= (_ bv4 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7541#(= (_ bv5 32) max_~i~0)} is VALID [2018-11-23 10:21:45,065 INFO L273 TraceCheckUtils]: 69: Hoare triple {7541#(= (_ bv5 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7541#(= (_ bv5 32) max_~i~0)} is VALID [2018-11-23 10:21:45,066 INFO L273 TraceCheckUtils]: 70: Hoare triple {7541#(= (_ bv5 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7541#(= (_ bv5 32) max_~i~0)} is VALID [2018-11-23 10:21:45,066 INFO L273 TraceCheckUtils]: 71: Hoare triple {7541#(= (_ bv5 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7541#(= (_ bv5 32) max_~i~0)} is VALID [2018-11-23 10:21:45,067 INFO L273 TraceCheckUtils]: 72: Hoare triple {7541#(= (_ bv5 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7554#(= (_ bv6 32) max_~i~0)} is VALID [2018-11-23 10:21:45,068 INFO L273 TraceCheckUtils]: 73: Hoare triple {7554#(= (_ bv6 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7554#(= (_ bv6 32) max_~i~0)} is VALID [2018-11-23 10:21:45,068 INFO L273 TraceCheckUtils]: 74: Hoare triple {7554#(= (_ bv6 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7554#(= (_ bv6 32) max_~i~0)} is VALID [2018-11-23 10:21:45,069 INFO L273 TraceCheckUtils]: 75: Hoare triple {7554#(= (_ bv6 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7554#(= (_ bv6 32) max_~i~0)} is VALID [2018-11-23 10:21:45,069 INFO L273 TraceCheckUtils]: 76: Hoare triple {7554#(= (_ bv6 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7567#(= (_ bv7 32) max_~i~0)} is VALID [2018-11-23 10:21:45,070 INFO L273 TraceCheckUtils]: 77: Hoare triple {7567#(= (_ bv7 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7567#(= (_ bv7 32) max_~i~0)} is VALID [2018-11-23 10:21:45,071 INFO L273 TraceCheckUtils]: 78: Hoare triple {7567#(= (_ bv7 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7567#(= (_ bv7 32) max_~i~0)} is VALID [2018-11-23 10:21:45,071 INFO L273 TraceCheckUtils]: 79: Hoare triple {7567#(= (_ bv7 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7567#(= (_ bv7 32) max_~i~0)} is VALID [2018-11-23 10:21:45,072 INFO L273 TraceCheckUtils]: 80: Hoare triple {7567#(= (_ bv7 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7580#(= (_ bv8 32) max_~i~0)} is VALID [2018-11-23 10:21:45,072 INFO L273 TraceCheckUtils]: 81: Hoare triple {7580#(= (_ bv8 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7580#(= (_ bv8 32) max_~i~0)} is VALID [2018-11-23 10:21:45,073 INFO L273 TraceCheckUtils]: 82: Hoare triple {7580#(= (_ bv8 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7580#(= (_ bv8 32) max_~i~0)} is VALID [2018-11-23 10:21:45,074 INFO L273 TraceCheckUtils]: 83: Hoare triple {7580#(= (_ bv8 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7580#(= (_ bv8 32) max_~i~0)} is VALID [2018-11-23 10:21:45,074 INFO L273 TraceCheckUtils]: 84: Hoare triple {7580#(= (_ bv8 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7593#(= (_ bv9 32) max_~i~0)} is VALID [2018-11-23 10:21:45,075 INFO L273 TraceCheckUtils]: 85: Hoare triple {7593#(= (_ bv9 32) max_~i~0)} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7593#(= (_ bv9 32) max_~i~0)} is VALID [2018-11-23 10:21:45,075 INFO L273 TraceCheckUtils]: 86: Hoare triple {7593#(= (_ bv9 32) max_~i~0)} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7593#(= (_ bv9 32) max_~i~0)} is VALID [2018-11-23 10:21:45,076 INFO L273 TraceCheckUtils]: 87: Hoare triple {7593#(= (_ bv9 32) max_~i~0)} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7593#(= (_ bv9 32) max_~i~0)} is VALID [2018-11-23 10:21:45,077 INFO L273 TraceCheckUtils]: 88: Hoare triple {7593#(= (_ bv9 32) max_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7606#(= (_ bv10 32) max_~i~0)} is VALID [2018-11-23 10:21:45,077 INFO L273 TraceCheckUtils]: 89: Hoare triple {7606#(= (_ bv10 32) max_~i~0)} assume !~bvslt32(~i~0, 20bv32); {7328#false} is VALID [2018-11-23 10:21:45,077 INFO L273 TraceCheckUtils]: 90: Hoare triple {7328#false} #res := ~ret~0[32:0]; {7328#false} is VALID [2018-11-23 10:21:45,078 INFO L273 TraceCheckUtils]: 91: Hoare triple {7328#false} assume true; {7328#false} is VALID [2018-11-23 10:21:45,078 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {7328#false} {7327#true} #77#return; {7328#false} is VALID [2018-11-23 10:21:45,078 INFO L273 TraceCheckUtils]: 93: Hoare triple {7328#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,078 INFO L256 TraceCheckUtils]: 94: Hoare triple {7328#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {7328#false} is VALID [2018-11-23 10:21:45,079 INFO L273 TraceCheckUtils]: 95: Hoare triple {7328#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7328#false} is VALID [2018-11-23 10:21:45,079 INFO L273 TraceCheckUtils]: 96: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,079 INFO L273 TraceCheckUtils]: 97: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,079 INFO L273 TraceCheckUtils]: 98: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,079 INFO L273 TraceCheckUtils]: 99: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,080 INFO L273 TraceCheckUtils]: 100: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,080 INFO L273 TraceCheckUtils]: 101: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,080 INFO L273 TraceCheckUtils]: 102: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,080 INFO L273 TraceCheckUtils]: 103: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,080 INFO L273 TraceCheckUtils]: 104: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,081 INFO L273 TraceCheckUtils]: 105: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,081 INFO L273 TraceCheckUtils]: 106: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,081 INFO L273 TraceCheckUtils]: 107: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,081 INFO L273 TraceCheckUtils]: 108: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,081 INFO L273 TraceCheckUtils]: 109: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,082 INFO L273 TraceCheckUtils]: 110: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,082 INFO L273 TraceCheckUtils]: 111: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,082 INFO L273 TraceCheckUtils]: 112: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,082 INFO L273 TraceCheckUtils]: 113: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,082 INFO L273 TraceCheckUtils]: 114: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 115: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 116: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 117: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 118: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 119: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 120: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 121: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,083 INFO L273 TraceCheckUtils]: 122: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 123: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 124: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 125: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 126: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 127: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 128: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 129: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,084 INFO L273 TraceCheckUtils]: 130: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 131: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 132: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 133: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 134: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 135: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 136: Hoare triple {7328#false} assume !~bvslt32(~i~0, 20bv32); {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 137: Hoare triple {7328#false} #res := ~ret~0[32:0]; {7328#false} is VALID [2018-11-23 10:21:45,085 INFO L273 TraceCheckUtils]: 138: Hoare triple {7328#false} assume true; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {7328#false} {7328#false} #79#return; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 140: Hoare triple {7328#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 141: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 142: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 143: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 144: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 145: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,086 INFO L273 TraceCheckUtils]: 146: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 147: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 148: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 149: Hoare triple {7328#false} assume !~bvslt32(~i~2, 19bv32); {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 150: Hoare triple {7328#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L256 TraceCheckUtils]: 151: Hoare triple {7328#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 152: Hoare triple {7328#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 153: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,087 INFO L273 TraceCheckUtils]: 154: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 155: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 156: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 157: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 158: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 159: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 160: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 161: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 162: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,088 INFO L273 TraceCheckUtils]: 163: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 164: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 165: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 166: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 167: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 168: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 169: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 170: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,089 INFO L273 TraceCheckUtils]: 171: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 172: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 173: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 174: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 175: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 176: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 177: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 178: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,090 INFO L273 TraceCheckUtils]: 179: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 180: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 181: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 182: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 183: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 184: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 185: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 186: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 187: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,091 INFO L273 TraceCheckUtils]: 188: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 189: Hoare triple {7328#false} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 190: Hoare triple {7328#false} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 191: Hoare triple {7328#false} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 192: Hoare triple {7328#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 193: Hoare triple {7328#false} assume !~bvslt32(~i~0, 20bv32); {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 194: Hoare triple {7328#false} #res := ~ret~0[32:0]; {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L273 TraceCheckUtils]: 195: Hoare triple {7328#false} assume true; {7328#false} is VALID [2018-11-23 10:21:45,092 INFO L268 TraceCheckUtils]: 196: Hoare quadruple {7328#false} {7328#false} #81#return; {7328#false} is VALID [2018-11-23 10:21:45,093 INFO L273 TraceCheckUtils]: 197: Hoare triple {7328#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {7328#false} is VALID [2018-11-23 10:21:45,093 INFO L273 TraceCheckUtils]: 198: Hoare triple {7328#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7328#false} is VALID [2018-11-23 10:21:45,093 INFO L273 TraceCheckUtils]: 199: Hoare triple {7328#false} assume !false; {7328#false} is VALID [2018-11-23 10:21:45,111 INFO L134 CoverageAnalysis]: Checked inductivity of 2261 backedges. 844 proven. 190 refuted. 0 times theorem prover too weak. 1227 trivial. 0 not checked. [2018-11-23 10:21:45,112 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:21:45,781 INFO L273 TraceCheckUtils]: 199: Hoare triple {7328#false} assume !false; {7328#false} is VALID [2018-11-23 10:21:45,781 INFO L273 TraceCheckUtils]: 198: Hoare triple {7328#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7328#false} is VALID [2018-11-23 10:21:45,781 INFO L273 TraceCheckUtils]: 197: Hoare triple {7328#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {7328#false} is VALID [2018-11-23 10:21:45,782 INFO L268 TraceCheckUtils]: 196: Hoare quadruple {7327#true} {7328#false} #81#return; {7328#false} is VALID [2018-11-23 10:21:45,782 INFO L273 TraceCheckUtils]: 195: Hoare triple {7327#true} assume true; {7327#true} is VALID [2018-11-23 10:21:45,782 INFO L273 TraceCheckUtils]: 194: Hoare triple {7327#true} #res := ~ret~0[32:0]; {7327#true} is VALID [2018-11-23 10:21:45,782 INFO L273 TraceCheckUtils]: 193: Hoare triple {7327#true} assume !~bvslt32(~i~0, 20bv32); {7327#true} is VALID [2018-11-23 10:21:45,783 INFO L273 TraceCheckUtils]: 192: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,783 INFO L273 TraceCheckUtils]: 191: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,783 INFO L273 TraceCheckUtils]: 190: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,783 INFO L273 TraceCheckUtils]: 189: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,783 INFO L273 TraceCheckUtils]: 188: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 187: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 186: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 185: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 184: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 183: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 182: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 181: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,784 INFO L273 TraceCheckUtils]: 180: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 179: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 178: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 177: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 176: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 175: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 174: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 173: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,785 INFO L273 TraceCheckUtils]: 172: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 171: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 170: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 169: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 168: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 167: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 166: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 165: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,786 INFO L273 TraceCheckUtils]: 164: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 163: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 162: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 161: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 160: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 159: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 158: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 157: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,787 INFO L273 TraceCheckUtils]: 156: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 155: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 154: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 153: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 152: Hoare triple {7327#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L256 TraceCheckUtils]: 151: Hoare triple {7328#false} call #t~ret13 := max(~#x~0.base, ~#x~0.offset); {7327#true} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 150: Hoare triple {7328#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(76bv32, ~#x~0.offset), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 149: Hoare triple {7328#false} assume !~bvslt32(~i~2, 19bv32); {7328#false} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 148: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,788 INFO L273 TraceCheckUtils]: 147: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 146: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 145: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 144: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 143: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 142: Hoare triple {7328#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 141: Hoare triple {7328#false} assume !!~bvslt32(~i~2, 19bv32);call #t~mem12 := read~intINTTYPE4(~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~bvadd32(1bv32, ~i~2))), 4bv32);call write~intINTTYPE4(#t~mem12, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~2)), 4bv32);havoc #t~mem12; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L273 TraceCheckUtils]: 140: Hoare triple {7328#false} ~ret2~0 := #t~ret9;havoc #t~ret9;call #t~mem10 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem10;havoc #t~mem10;~i~2 := 0bv32; {7328#false} is VALID [2018-11-23 10:21:45,789 INFO L268 TraceCheckUtils]: 139: Hoare quadruple {7327#true} {7328#false} #79#return; {7328#false} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 138: Hoare triple {7327#true} assume true; {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 137: Hoare triple {7327#true} #res := ~ret~0[32:0]; {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 136: Hoare triple {7327#true} assume !~bvslt32(~i~0, 20bv32); {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 135: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 134: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 133: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 132: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,790 INFO L273 TraceCheckUtils]: 131: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 130: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 129: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 128: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 127: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 126: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 125: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 124: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,791 INFO L273 TraceCheckUtils]: 123: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 122: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 121: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 120: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 119: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 118: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 117: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 116: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 115: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,792 INFO L273 TraceCheckUtils]: 114: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 113: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 112: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 111: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 110: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 109: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 108: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 107: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,793 INFO L273 TraceCheckUtils]: 106: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 105: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 104: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 103: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 102: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 101: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 100: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 99: Hoare triple {7327#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7327#true} is VALID [2018-11-23 10:21:45,794 INFO L273 TraceCheckUtils]: 98: Hoare triple {7327#true} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {7327#true} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 97: Hoare triple {7327#true} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {7327#true} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 96: Hoare triple {7327#true} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7327#true} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 95: Hoare triple {7327#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7327#true} is VALID [2018-11-23 10:21:45,795 INFO L256 TraceCheckUtils]: 94: Hoare triple {7328#false} call #t~ret9 := max(~#x~0.base, ~#x~0.offset); {7327#true} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 93: Hoare triple {7328#false} ~ret~1 := #t~ret6;havoc #t~ret6;call #t~mem7 := read~intINTTYPE4(~#x~0.base, ~#x~0.offset, 4bv32);~temp~0 := #t~mem7;havoc #t~mem7;call #t~mem8 := read~intINTTYPE4(~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32);call write~intINTTYPE4(#t~mem8, ~#x~0.base, ~#x~0.offset, 4bv32);havoc #t~mem8;call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(4bv32, ~#x~0.offset), 4bv32); {7328#false} is VALID [2018-11-23 10:21:45,795 INFO L268 TraceCheckUtils]: 92: Hoare quadruple {7328#false} {7327#true} #77#return; {7328#false} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 91: Hoare triple {7328#false} assume true; {7328#false} is VALID [2018-11-23 10:21:45,795 INFO L273 TraceCheckUtils]: 90: Hoare triple {7328#false} #res := ~ret~0[32:0]; {7328#false} is VALID [2018-11-23 10:21:45,796 INFO L273 TraceCheckUtils]: 89: Hoare triple {8273#(bvslt max_~i~0 (_ bv20 32))} assume !~bvslt32(~i~0, 20bv32); {7328#false} is VALID [2018-11-23 10:21:45,796 INFO L273 TraceCheckUtils]: 88: Hoare triple {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8273#(bvslt max_~i~0 (_ bv20 32))} is VALID [2018-11-23 10:21:45,796 INFO L273 TraceCheckUtils]: 87: Hoare triple {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,797 INFO L273 TraceCheckUtils]: 86: Hoare triple {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,797 INFO L273 TraceCheckUtils]: 85: Hoare triple {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,800 INFO L273 TraceCheckUtils]: 84: Hoare triple {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8277#(bvslt (bvadd max_~i~0 (_ bv1 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,801 INFO L273 TraceCheckUtils]: 83: Hoare triple {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,801 INFO L273 TraceCheckUtils]: 82: Hoare triple {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,801 INFO L273 TraceCheckUtils]: 81: Hoare triple {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,804 INFO L273 TraceCheckUtils]: 80: Hoare triple {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8290#(bvslt (bvadd max_~i~0 (_ bv2 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,804 INFO L273 TraceCheckUtils]: 79: Hoare triple {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,805 INFO L273 TraceCheckUtils]: 78: Hoare triple {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,805 INFO L273 TraceCheckUtils]: 77: Hoare triple {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,808 INFO L273 TraceCheckUtils]: 76: Hoare triple {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8303#(bvslt (bvadd max_~i~0 (_ bv3 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,808 INFO L273 TraceCheckUtils]: 75: Hoare triple {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,808 INFO L273 TraceCheckUtils]: 74: Hoare triple {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,809 INFO L273 TraceCheckUtils]: 73: Hoare triple {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,812 INFO L273 TraceCheckUtils]: 72: Hoare triple {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8316#(bvslt (bvadd max_~i~0 (_ bv4 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,813 INFO L273 TraceCheckUtils]: 71: Hoare triple {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,813 INFO L273 TraceCheckUtils]: 70: Hoare triple {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,813 INFO L273 TraceCheckUtils]: 69: Hoare triple {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,817 INFO L273 TraceCheckUtils]: 68: Hoare triple {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8329#(bvslt (bvadd max_~i~0 (_ bv5 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,817 INFO L273 TraceCheckUtils]: 67: Hoare triple {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,817 INFO L273 TraceCheckUtils]: 66: Hoare triple {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,818 INFO L273 TraceCheckUtils]: 65: Hoare triple {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,821 INFO L273 TraceCheckUtils]: 64: Hoare triple {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8342#(bvslt (bvadd max_~i~0 (_ bv6 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,821 INFO L273 TraceCheckUtils]: 63: Hoare triple {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,822 INFO L273 TraceCheckUtils]: 62: Hoare triple {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,822 INFO L273 TraceCheckUtils]: 61: Hoare triple {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,827 INFO L273 TraceCheckUtils]: 60: Hoare triple {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8355#(bvslt (bvadd max_~i~0 (_ bv7 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,827 INFO L273 TraceCheckUtils]: 59: Hoare triple {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,827 INFO L273 TraceCheckUtils]: 58: Hoare triple {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,828 INFO L273 TraceCheckUtils]: 57: Hoare triple {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,831 INFO L273 TraceCheckUtils]: 56: Hoare triple {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8368#(bvslt (bvadd max_~i~0 (_ bv8 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,832 INFO L273 TraceCheckUtils]: 55: Hoare triple {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,832 INFO L273 TraceCheckUtils]: 54: Hoare triple {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,832 INFO L273 TraceCheckUtils]: 53: Hoare triple {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,836 INFO L273 TraceCheckUtils]: 52: Hoare triple {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8381#(bvslt (bvadd max_~i~0 (_ bv9 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,836 INFO L273 TraceCheckUtils]: 51: Hoare triple {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} ~ret~0 := #t~ite3;havoc #t~mem1;havoc #t~ite3;havoc #t~mem2; {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,836 INFO L273 TraceCheckUtils]: 50: Hoare triple {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} assume ~bvslt64(~ret~0, ~sign_extendFrom32To64(#t~mem1));call #t~mem2 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32);#t~ite3 := ~sign_extendFrom32To64(#t~mem2); {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,837 INFO L273 TraceCheckUtils]: 49: Hoare triple {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} assume !!~bvslt32(~i~0, 20bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,837 INFO L273 TraceCheckUtils]: 48: Hoare triple {7327#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;havoc ~i~0;havoc ~ret~0;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {8394#(bvslt (bvadd max_~i~0 (_ bv10 32)) (_ bv20 32))} is VALID [2018-11-23 10:21:45,837 INFO L256 TraceCheckUtils]: 47: Hoare triple {7327#true} call #t~ret6 := max(~#x~0.base, ~#x~0.offset); {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 46: Hoare triple {7327#true} assume !~bvslt32(~i~1, 20bv32); {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 45: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 44: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 43: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 42: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 41: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 40: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 39: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,838 INFO L273 TraceCheckUtils]: 38: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 37: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 36: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 35: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 34: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 33: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 32: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 31: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,839 INFO L273 TraceCheckUtils]: 30: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 29: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 28: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 27: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 26: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 25: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 24: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 23: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,840 INFO L273 TraceCheckUtils]: 22: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 21: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 20: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 19: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 18: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 17: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 16: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 15: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 14: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,841 INFO L273 TraceCheckUtils]: 13: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 12: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 11: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 10: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 9: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 8: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 7: Hoare triple {7327#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 6: Hoare triple {7327#true} assume !!~bvslt32(~i~1, 20bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7327#true} is VALID [2018-11-23 10:21:45,842 INFO L273 TraceCheckUtils]: 5: Hoare triple {7327#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(80bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {7327#true} is VALID [2018-11-23 10:21:45,843 INFO L256 TraceCheckUtils]: 4: Hoare triple {7327#true} call #t~ret14 := main(); {7327#true} is VALID [2018-11-23 10:21:45,843 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7327#true} {7327#true} #73#return; {7327#true} is VALID [2018-11-23 10:21:45,843 INFO L273 TraceCheckUtils]: 2: Hoare triple {7327#true} assume true; {7327#true} is VALID [2018-11-23 10:21:45,843 INFO L273 TraceCheckUtils]: 1: Hoare triple {7327#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7327#true} is VALID [2018-11-23 10:21:45,843 INFO L256 TraceCheckUtils]: 0: Hoare triple {7327#true} call ULTIMATE.init(); {7327#true} is VALID [2018-11-23 10:21:45,866 INFO L134 CoverageAnalysis]: Checked inductivity of 2261 backedges. 0 proven. 1038 refuted. 0 times theorem prover too weak. 1223 trivial. 0 not checked. [2018-11-23 10:21:45,868 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:21:45,869 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 24 [2018-11-23 10:21:45,869 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 200 [2018-11-23 10:21:45,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:21:45,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2018-11-23 10:21:46,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:46,178 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2018-11-23 10:21:46,178 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2018-11-23 10:21:46,179 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=165, Invalid=387, Unknown=0, NotChecked=0, Total=552 [2018-11-23 10:21:46,179 INFO L87 Difference]: Start difference. First operand 111 states and 125 transitions. Second operand 24 states. [2018-11-23 10:21:50,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:50,118 INFO L93 Difference]: Finished difference Result 214 states and 263 transitions. [2018-11-23 10:21:50,118 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 10:21:50,119 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 200 [2018-11-23 10:21:50,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:21:50,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:21:50,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 164 transitions. [2018-11-23 10:21:50,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 10:21:50,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 164 transitions. [2018-11-23 10:21:50,125 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 164 transitions. [2018-11-23 10:21:50,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:21:50,468 INFO L225 Difference]: With dead ends: 214 [2018-11-23 10:21:50,468 INFO L226 Difference]: Without dead ends: 151 [2018-11-23 10:21:50,469 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 415 GetRequests, 385 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=341, Invalid=651, Unknown=0, NotChecked=0, Total=992 [2018-11-23 10:21:50,470 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2018-11-23 10:21:50,527 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2018-11-23 10:21:50,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:21:50,528 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 151 states. [2018-11-23 10:21:50,528 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 151 states. [2018-11-23 10:21:50,528 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 151 states. [2018-11-23 10:21:50,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:50,533 INFO L93 Difference]: Finished difference Result 151 states and 175 transitions. [2018-11-23 10:21:50,534 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 175 transitions. [2018-11-23 10:21:50,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:50,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:50,535 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 151 states. [2018-11-23 10:21:50,535 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 151 states. [2018-11-23 10:21:50,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:21:50,540 INFO L93 Difference]: Finished difference Result 151 states and 175 transitions. [2018-11-23 10:21:50,540 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 175 transitions. [2018-11-23 10:21:50,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:21:50,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:21:50,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:21:50,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:21:50,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 151 states. [2018-11-23 10:21:50,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 175 transitions. [2018-11-23 10:21:50,546 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 175 transitions. Word has length 200 [2018-11-23 10:21:50,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:21:50,547 INFO L480 AbstractCegarLoop]: Abstraction has 151 states and 175 transitions. [2018-11-23 10:21:50,547 INFO L481 AbstractCegarLoop]: Interpolant automaton has 24 states. [2018-11-23 10:21:50,547 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 175 transitions. [2018-11-23 10:21:50,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 321 [2018-11-23 10:21:50,552 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:21:50,553 INFO L402 BasicCegarLoop]: trace histogram [60, 60, 60, 60, 20, 20, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:21:50,553 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:21:50,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:21:50,553 INFO L82 PathProgramCache]: Analyzing trace with hash -251296569, now seen corresponding path program 5 times [2018-11-23 10:21:50,554 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:21:50,554 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 10:21:50,582 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1