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/sep05_true-unreach-call_true-termination.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 10:22:13,618 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 10:22:13,622 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 10:22:13,642 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 10:22:13,643 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 10:22:13,645 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 10:22:13,647 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 10:22:13,649 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 10:22:13,653 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 10:22:13,654 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 10:22:13,655 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 10:22:13,659 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 10:22:13,660 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 10:22:13,661 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 10:22:13,662 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 10:22:13,663 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 10:22:13,664 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 10:22:13,666 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 10:22:13,668 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 10:22:13,670 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 10:22:13,671 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 10:22:13,672 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 10:22:13,675 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 10:22:13,675 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 10:22:13,675 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 10:22:13,676 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 10:22:13,677 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 10:22:13,678 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 10:22:13,679 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 10:22:13,680 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 10:22:13,680 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 10:22:13,683 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 10:22:13,683 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 10:22:13,683 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 10:22:13,684 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 10:22:13,685 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 10:22:13,686 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:22:13,714 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 10:22:13,715 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 10:22:13,715 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 10:22:13,716 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 10:22:13,716 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 10:22:13,716 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 10:22:13,717 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 10:22:13,717 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 10:22:13,717 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 10:22:13,717 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 10:22:13,717 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 10:22:13,718 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 10:22:13,718 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 10:22:13,718 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 10:22:13,718 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 10:22:13,718 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 10:22:13,719 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 10:22:13,719 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 10:22:13,719 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 10:22:13,719 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 10:22:13,719 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 10:22:13,720 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 10:22:13,720 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 10:22:13,720 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 10:22:13,720 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 10:22:13,720 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 10:22:13,721 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 10:22:13,721 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 10:22:13,722 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 10:22:13,722 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 10:22:13,722 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 10:22:13,722 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 10:22:13,722 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 10:22:13,764 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 10:22:13,784 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 10:22:13,790 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 10:22:13,792 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 10:22:13,792 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 10:22:13,793 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/reducercommutativity/sep05_true-unreach-call_true-termination.i [2018-11-23 10:22:13,884 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0382e0e95/64a17c544f974328b3bf4bd7277cd1ef/FLAGa7ac3cd99 [2018-11-23 10:22:14,303 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 10:22:14,304 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/reducercommutativity/sep05_true-unreach-call_true-termination.i [2018-11-23 10:22:14,314 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0382e0e95/64a17c544f974328b3bf4bd7277cd1ef/FLAGa7ac3cd99 [2018-11-23 10:22:14,697 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0382e0e95/64a17c544f974328b3bf4bd7277cd1ef [2018-11-23 10:22:14,707 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 10:22:14,709 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 10:22:14,710 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 10:22:14,710 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 10:22:14,714 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 10:22:14,716 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:22:14" (1/1) ... [2018-11-23 10:22:14,719 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@506b4674 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:14, skipping insertion in model container [2018-11-23 10:22:14,719 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:22:14" (1/1) ... [2018-11-23 10:22:14,730 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 10:22:14,754 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 10:22:14,975 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:22:14,987 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 10:22:15,016 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 10:22:15,034 INFO L195 MainTranslator]: Completed translation [2018-11-23 10:22:15,034 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15 WrapperNode [2018-11-23 10:22:15,034 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 10:22:15,035 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 10:22:15,035 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 10:22:15,036 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 10:22:15,046 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:22:15" (1/1) ... [2018-11-23 10:22:15,057 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:22:15" (1/1) ... [2018-11-23 10:22:15,066 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 10:22:15,067 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 10:22:15,067 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 10:22:15,067 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 10:22:15,078 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,079 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,082 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,082 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,098 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,105 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,109 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (1/1) ... [2018-11-23 10:22:15,118 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 10:22:15,119 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 10:22:15,119 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 10:22:15,119 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 10:22:15,123 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (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:22:15,274 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 10:22:15,274 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 10:22:15,275 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 10:22:15,275 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 10:22:15,275 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 10:22:15,275 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 10:22:15,275 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 10:22:15,275 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 10:22:15,276 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 10:22:15,276 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 10:22:15,276 INFO L130 BoogieDeclarations]: Found specification of procedure sep [2018-11-23 10:22:15,276 INFO L138 BoogieDeclarations]: Found implementation of procedure sep [2018-11-23 10:22:16,043 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 10:22:16,043 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 10:22:16,044 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:22:16 BoogieIcfgContainer [2018-11-23 10:22:16,044 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 10:22:16,045 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 10:22:16,045 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 10:22:16,049 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 10:22:16,050 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 10:22:14" (1/3) ... [2018-11-23 10:22:16,051 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7b5fa8a7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:22:16, skipping insertion in model container [2018-11-23 10:22:16,051 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:22:15" (2/3) ... [2018-11-23 10:22:16,052 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7b5fa8a7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 10:22:16, skipping insertion in model container [2018-11-23 10:22:16,052 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:22:16" (3/3) ... [2018-11-23 10:22:16,055 INFO L112 eAbstractionObserver]: Analyzing ICFG sep05_true-unreach-call_true-termination.i [2018-11-23 10:22:16,066 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 10:22:16,075 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 10:22:16,091 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 10:22:16,119 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 10:22:16,120 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 10:22:16,120 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 10:22:16,120 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 10:22:16,121 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 10:22:16,121 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 10:22:16,121 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 10:22:16,121 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 10:22:16,121 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 10:22:16,139 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states. [2018-11-23 10:22:16,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:22:16,146 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:16,147 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:22:16,150 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:16,156 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:16,157 INFO L82 PathProgramCache]: Analyzing trace with hash 794343521, now seen corresponding path program 1 times [2018-11-23 10:22:16,162 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:16,163 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:22:16,194 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:22:16,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:16,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:16,333 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:16,701 INFO L256 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {35#true} is VALID [2018-11-23 10:22:16,705 INFO L273 TraceCheckUtils]: 1: Hoare triple {35#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {35#true} is VALID [2018-11-23 10:22:16,706 INFO L273 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2018-11-23 10:22:16,707 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2018-11-23 10:22:16,707 INFO L256 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret14 := main(); {35#true} is VALID [2018-11-23 10:22:16,708 INFO L273 TraceCheckUtils]: 5: Hoare triple {35#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {35#true} is VALID [2018-11-23 10:22:16,715 INFO L273 TraceCheckUtils]: 6: Hoare triple {35#true} assume !true; {36#false} is VALID [2018-11-23 10:22:16,715 INFO L256 TraceCheckUtils]: 7: Hoare triple {36#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {36#false} is VALID [2018-11-23 10:22:16,715 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {36#false} is VALID [2018-11-23 10:22:16,716 INFO L273 TraceCheckUtils]: 9: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 10:22:16,716 INFO L273 TraceCheckUtils]: 10: Hoare triple {36#false} #res := ~ret~0[32:0]; {36#false} is VALID [2018-11-23 10:22:16,716 INFO L273 TraceCheckUtils]: 11: Hoare triple {36#false} assume true; {36#false} is VALID [2018-11-23 10:22:16,717 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {36#false} {36#false} #75#return; {36#false} is VALID [2018-11-23 10:22:16,717 INFO L273 TraceCheckUtils]: 13: Hoare triple {36#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); {36#false} is VALID [2018-11-23 10:22:16,718 INFO L256 TraceCheckUtils]: 14: Hoare triple {36#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {36#false} is VALID [2018-11-23 10:22:16,718 INFO L273 TraceCheckUtils]: 15: Hoare triple {36#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {36#false} is VALID [2018-11-23 10:22:16,718 INFO L273 TraceCheckUtils]: 16: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 10:22:16,719 INFO L273 TraceCheckUtils]: 17: Hoare triple {36#false} #res := ~ret~0[32:0]; {36#false} is VALID [2018-11-23 10:22:16,719 INFO L273 TraceCheckUtils]: 18: Hoare triple {36#false} assume true; {36#false} is VALID [2018-11-23 10:22:16,719 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {36#false} {36#false} #77#return; {36#false} is VALID [2018-11-23 10:22:16,720 INFO L273 TraceCheckUtils]: 20: Hoare triple {36#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; {36#false} is VALID [2018-11-23 10:22:16,720 INFO L273 TraceCheckUtils]: 21: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 10:22:16,720 INFO L273 TraceCheckUtils]: 22: Hoare triple {36#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {36#false} is VALID [2018-11-23 10:22:16,721 INFO L256 TraceCheckUtils]: 23: Hoare triple {36#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {36#false} is VALID [2018-11-23 10:22:16,721 INFO L273 TraceCheckUtils]: 24: Hoare triple {36#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {36#false} is VALID [2018-11-23 10:22:16,721 INFO L273 TraceCheckUtils]: 25: Hoare triple {36#false} assume !true; {36#false} is VALID [2018-11-23 10:22:16,722 INFO L273 TraceCheckUtils]: 26: Hoare triple {36#false} #res := ~ret~0[32:0]; {36#false} is VALID [2018-11-23 10:22:16,722 INFO L273 TraceCheckUtils]: 27: Hoare triple {36#false} assume true; {36#false} is VALID [2018-11-23 10:22:16,722 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {36#false} {36#false} #79#return; {36#false} is VALID [2018-11-23 10:22:16,722 INFO L273 TraceCheckUtils]: 29: Hoare triple {36#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {36#false} is VALID [2018-11-23 10:22:16,723 INFO L273 TraceCheckUtils]: 30: Hoare triple {36#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {36#false} is VALID [2018-11-23 10:22:16,723 INFO L273 TraceCheckUtils]: 31: Hoare triple {36#false} assume !false; {36#false} is VALID [2018-11-23 10:22:16,730 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:22:16,731 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:22:16,741 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:22:16,742 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 10:22:16,748 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 10:22:16,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:16,756 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 10:22:16,873 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:22:16,874 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 10:22:16,881 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 10:22:16,882 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 10:22:16,885 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 2 states. [2018-11-23 10:22:17,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:17,097 INFO L93 Difference]: Finished difference Result 56 states and 75 transitions. [2018-11-23 10:22:17,097 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 10:22:17,097 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 32 [2018-11-23 10:22:17,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:17,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:22:17,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 10:22:17,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 10:22:17,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 75 transitions. [2018-11-23 10:22:17,117 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 75 transitions. [2018-11-23 10:22:17,362 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:17,379 INFO L225 Difference]: With dead ends: 56 [2018-11-23 10:22:17,380 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 10:22:17,387 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:22:17,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 10:22:17,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-23 10:22:17,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:17,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-23 10:22:17,495 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 10:22:17,495 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 10:22:17,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:17,510 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 10:22:17,510 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 10:22:17,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:17,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:17,513 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-23 10:22:17,513 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-23 10:22:17,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:17,527 INFO L93 Difference]: Finished difference Result 27 states and 32 transitions. [2018-11-23 10:22:17,528 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 10:22:17,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:17,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:17,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:17,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:17,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 10:22:17,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2018-11-23 10:22:17,543 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 32 [2018-11-23 10:22:17,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:17,544 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2018-11-23 10:22:17,544 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 10:22:17,544 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2018-11-23 10:22:17,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 10:22:17,549 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:17,549 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:22:17,549 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:17,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:17,553 INFO L82 PathProgramCache]: Analyzing trace with hash 2140793590, now seen corresponding path program 1 times [2018-11-23 10:22:17,554 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:17,554 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:22:17,584 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:22:17,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:17,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:17,692 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:18,065 INFO L256 TraceCheckUtils]: 0: Hoare triple {297#true} call ULTIMATE.init(); {297#true} is VALID [2018-11-23 10:22:18,066 INFO L273 TraceCheckUtils]: 1: Hoare triple {297#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {297#true} is VALID [2018-11-23 10:22:18,066 INFO L273 TraceCheckUtils]: 2: Hoare triple {297#true} assume true; {297#true} is VALID [2018-11-23 10:22:18,066 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {297#true} {297#true} #71#return; {297#true} is VALID [2018-11-23 10:22:18,066 INFO L256 TraceCheckUtils]: 4: Hoare triple {297#true} call #t~ret14 := main(); {297#true} is VALID [2018-11-23 10:22:18,085 INFO L273 TraceCheckUtils]: 5: Hoare triple {297#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {317#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:22:18,094 INFO L273 TraceCheckUtils]: 6: Hoare triple {317#(= main_~i~1 (_ bv0 32))} assume !~bvslt32(~i~1, 5bv32); {298#false} is VALID [2018-11-23 10:22:18,095 INFO L256 TraceCheckUtils]: 7: Hoare triple {298#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {298#false} is VALID [2018-11-23 10:22:18,095 INFO L273 TraceCheckUtils]: 8: Hoare triple {298#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {298#false} is VALID [2018-11-23 10:22:18,095 INFO L273 TraceCheckUtils]: 9: Hoare triple {298#false} assume !~bvslt32(~i~0, 5bv32); {298#false} is VALID [2018-11-23 10:22:18,096 INFO L273 TraceCheckUtils]: 10: Hoare triple {298#false} #res := ~ret~0[32:0]; {298#false} is VALID [2018-11-23 10:22:18,096 INFO L273 TraceCheckUtils]: 11: Hoare triple {298#false} assume true; {298#false} is VALID [2018-11-23 10:22:18,096 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {298#false} {298#false} #75#return; {298#false} is VALID [2018-11-23 10:22:18,097 INFO L273 TraceCheckUtils]: 13: Hoare triple {298#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); {298#false} is VALID [2018-11-23 10:22:18,097 INFO L256 TraceCheckUtils]: 14: Hoare triple {298#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {298#false} is VALID [2018-11-23 10:22:18,097 INFO L273 TraceCheckUtils]: 15: Hoare triple {298#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {298#false} is VALID [2018-11-23 10:22:18,098 INFO L273 TraceCheckUtils]: 16: Hoare triple {298#false} assume !~bvslt32(~i~0, 5bv32); {298#false} is VALID [2018-11-23 10:22:18,098 INFO L273 TraceCheckUtils]: 17: Hoare triple {298#false} #res := ~ret~0[32:0]; {298#false} is VALID [2018-11-23 10:22:18,098 INFO L273 TraceCheckUtils]: 18: Hoare triple {298#false} assume true; {298#false} is VALID [2018-11-23 10:22:18,099 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {298#false} {298#false} #77#return; {298#false} is VALID [2018-11-23 10:22:18,099 INFO L273 TraceCheckUtils]: 20: Hoare triple {298#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; {298#false} is VALID [2018-11-23 10:22:18,099 INFO L273 TraceCheckUtils]: 21: Hoare triple {298#false} assume !~bvslt32(~i~2, 4bv32); {298#false} is VALID [2018-11-23 10:22:18,100 INFO L273 TraceCheckUtils]: 22: Hoare triple {298#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {298#false} is VALID [2018-11-23 10:22:18,100 INFO L256 TraceCheckUtils]: 23: Hoare triple {298#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {298#false} is VALID [2018-11-23 10:22:18,100 INFO L273 TraceCheckUtils]: 24: Hoare triple {298#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {298#false} is VALID [2018-11-23 10:22:18,101 INFO L273 TraceCheckUtils]: 25: Hoare triple {298#false} assume !~bvslt32(~i~0, 5bv32); {298#false} is VALID [2018-11-23 10:22:18,101 INFO L273 TraceCheckUtils]: 26: Hoare triple {298#false} #res := ~ret~0[32:0]; {298#false} is VALID [2018-11-23 10:22:18,101 INFO L273 TraceCheckUtils]: 27: Hoare triple {298#false} assume true; {298#false} is VALID [2018-11-23 10:22:18,102 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {298#false} {298#false} #79#return; {298#false} is VALID [2018-11-23 10:22:18,102 INFO L273 TraceCheckUtils]: 29: Hoare triple {298#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {298#false} is VALID [2018-11-23 10:22:18,102 INFO L273 TraceCheckUtils]: 30: Hoare triple {298#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {298#false} is VALID [2018-11-23 10:22:18,103 INFO L273 TraceCheckUtils]: 31: Hoare triple {298#false} assume !false; {298#false} is VALID [2018-11-23 10:22:18,105 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:22:18,105 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:22:18,109 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:22:18,110 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:22:18,111 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 10:22:18,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:18,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:22:18,254 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:22:18,254 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:22:18,254 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:22:18,255 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:22:18,255 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand 3 states. [2018-11-23 10:22:18,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:18,520 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2018-11-23 10:22:18,520 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:22:18,520 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 32 [2018-11-23 10:22:18,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:18,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:18,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 10:22:18,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:18,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2018-11-23 10:22:18,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2018-11-23 10:22:18,675 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:22:18,678 INFO L225 Difference]: With dead ends: 48 [2018-11-23 10:22:18,678 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 10:22:18,679 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:22:18,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 10:22:18,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2018-11-23 10:22:18,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:18,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 28 states. [2018-11-23 10:22:18,698 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 28 states. [2018-11-23 10:22:18,699 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 28 states. [2018-11-23 10:22:18,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:18,702 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 10:22:18,702 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 10:22:18,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:18,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:18,704 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 29 states. [2018-11-23 10:22:18,704 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 29 states. [2018-11-23 10:22:18,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:18,707 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2018-11-23 10:22:18,707 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2018-11-23 10:22:18,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:18,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:18,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:18,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:18,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 10:22:18,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 33 transitions. [2018-11-23 10:22:18,712 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 33 transitions. Word has length 32 [2018-11-23 10:22:18,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:18,712 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 33 transitions. [2018-11-23 10:22:18,712 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:22:18,713 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2018-11-23 10:22:18,714 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 10:22:18,714 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:18,714 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:22:18,714 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:18,715 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:18,715 INFO L82 PathProgramCache]: Analyzing trace with hash 2099349144, now seen corresponding path program 1 times [2018-11-23 10:22:18,716 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:18,716 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:22:18,734 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 10:22:18,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:18,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:18,806 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:18,906 INFO L256 TraceCheckUtils]: 0: Hoare triple {559#true} call ULTIMATE.init(); {559#true} is VALID [2018-11-23 10:22:18,907 INFO L273 TraceCheckUtils]: 1: Hoare triple {559#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {559#true} is VALID [2018-11-23 10:22:18,907 INFO L273 TraceCheckUtils]: 2: Hoare triple {559#true} assume true; {559#true} is VALID [2018-11-23 10:22:18,908 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {559#true} {559#true} #71#return; {559#true} is VALID [2018-11-23 10:22:18,909 INFO L256 TraceCheckUtils]: 4: Hoare triple {559#true} call #t~ret14 := main(); {559#true} is VALID [2018-11-23 10:22:18,909 INFO L273 TraceCheckUtils]: 5: Hoare triple {559#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {579#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:22:18,910 INFO L273 TraceCheckUtils]: 6: Hoare triple {579#(= main_~i~1 (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {579#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:22:18,911 INFO L273 TraceCheckUtils]: 7: Hoare triple {579#(= main_~i~1 (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {586#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:18,912 INFO L273 TraceCheckUtils]: 8: Hoare triple {586#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !~bvslt32(~i~1, 5bv32); {560#false} is VALID [2018-11-23 10:22:18,912 INFO L256 TraceCheckUtils]: 9: Hoare triple {560#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {560#false} is VALID [2018-11-23 10:22:18,912 INFO L273 TraceCheckUtils]: 10: Hoare triple {560#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {560#false} is VALID [2018-11-23 10:22:18,913 INFO L273 TraceCheckUtils]: 11: Hoare triple {560#false} assume !~bvslt32(~i~0, 5bv32); {560#false} is VALID [2018-11-23 10:22:18,913 INFO L273 TraceCheckUtils]: 12: Hoare triple {560#false} #res := ~ret~0[32:0]; {560#false} is VALID [2018-11-23 10:22:18,913 INFO L273 TraceCheckUtils]: 13: Hoare triple {560#false} assume true; {560#false} is VALID [2018-11-23 10:22:18,914 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {560#false} {560#false} #75#return; {560#false} is VALID [2018-11-23 10:22:18,914 INFO L273 TraceCheckUtils]: 15: Hoare triple {560#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); {560#false} is VALID [2018-11-23 10:22:18,915 INFO L256 TraceCheckUtils]: 16: Hoare triple {560#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {560#false} is VALID [2018-11-23 10:22:18,915 INFO L273 TraceCheckUtils]: 17: Hoare triple {560#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {560#false} is VALID [2018-11-23 10:22:18,915 INFO L273 TraceCheckUtils]: 18: Hoare triple {560#false} assume !~bvslt32(~i~0, 5bv32); {560#false} is VALID [2018-11-23 10:22:18,916 INFO L273 TraceCheckUtils]: 19: Hoare triple {560#false} #res := ~ret~0[32:0]; {560#false} is VALID [2018-11-23 10:22:18,916 INFO L273 TraceCheckUtils]: 20: Hoare triple {560#false} assume true; {560#false} is VALID [2018-11-23 10:22:18,916 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {560#false} {560#false} #77#return; {560#false} is VALID [2018-11-23 10:22:18,917 INFO L273 TraceCheckUtils]: 22: Hoare triple {560#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; {560#false} is VALID [2018-11-23 10:22:18,917 INFO L273 TraceCheckUtils]: 23: Hoare triple {560#false} assume !~bvslt32(~i~2, 4bv32); {560#false} is VALID [2018-11-23 10:22:18,917 INFO L273 TraceCheckUtils]: 24: Hoare triple {560#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {560#false} is VALID [2018-11-23 10:22:18,918 INFO L256 TraceCheckUtils]: 25: Hoare triple {560#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {560#false} is VALID [2018-11-23 10:22:18,918 INFO L273 TraceCheckUtils]: 26: Hoare triple {560#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {560#false} is VALID [2018-11-23 10:22:18,918 INFO L273 TraceCheckUtils]: 27: Hoare triple {560#false} assume !~bvslt32(~i~0, 5bv32); {560#false} is VALID [2018-11-23 10:22:18,918 INFO L273 TraceCheckUtils]: 28: Hoare triple {560#false} #res := ~ret~0[32:0]; {560#false} is VALID [2018-11-23 10:22:18,919 INFO L273 TraceCheckUtils]: 29: Hoare triple {560#false} assume true; {560#false} is VALID [2018-11-23 10:22:18,919 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {560#false} {560#false} #79#return; {560#false} is VALID [2018-11-23 10:22:18,919 INFO L273 TraceCheckUtils]: 31: Hoare triple {560#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {560#false} is VALID [2018-11-23 10:22:18,920 INFO L273 TraceCheckUtils]: 32: Hoare triple {560#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {560#false} is VALID [2018-11-23 10:22:18,920 INFO L273 TraceCheckUtils]: 33: Hoare triple {560#false} assume !false; {560#false} is VALID [2018-11-23 10:22:18,922 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:22:18,923 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:19,130 INFO L273 TraceCheckUtils]: 33: Hoare triple {560#false} assume !false; {560#false} is VALID [2018-11-23 10:22:19,130 INFO L273 TraceCheckUtils]: 32: Hoare triple {560#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {560#false} is VALID [2018-11-23 10:22:19,131 INFO L273 TraceCheckUtils]: 31: Hoare triple {560#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {560#false} is VALID [2018-11-23 10:22:19,131 INFO L268 TraceCheckUtils]: 30: Hoare quadruple {559#true} {560#false} #79#return; {560#false} is VALID [2018-11-23 10:22:19,132 INFO L273 TraceCheckUtils]: 29: Hoare triple {559#true} assume true; {559#true} is VALID [2018-11-23 10:22:19,132 INFO L273 TraceCheckUtils]: 28: Hoare triple {559#true} #res := ~ret~0[32:0]; {559#true} is VALID [2018-11-23 10:22:19,132 INFO L273 TraceCheckUtils]: 27: Hoare triple {559#true} assume !~bvslt32(~i~0, 5bv32); {559#true} is VALID [2018-11-23 10:22:19,132 INFO L273 TraceCheckUtils]: 26: Hoare triple {559#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {559#true} is VALID [2018-11-23 10:22:19,133 INFO L256 TraceCheckUtils]: 25: Hoare triple {560#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {559#true} is VALID [2018-11-23 10:22:19,133 INFO L273 TraceCheckUtils]: 24: Hoare triple {560#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {560#false} is VALID [2018-11-23 10:22:19,133 INFO L273 TraceCheckUtils]: 23: Hoare triple {560#false} assume !~bvslt32(~i~2, 4bv32); {560#false} is VALID [2018-11-23 10:22:19,134 INFO L273 TraceCheckUtils]: 22: Hoare triple {560#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; {560#false} is VALID [2018-11-23 10:22:19,134 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {559#true} {560#false} #77#return; {560#false} is VALID [2018-11-23 10:22:19,134 INFO L273 TraceCheckUtils]: 20: Hoare triple {559#true} assume true; {559#true} is VALID [2018-11-23 10:22:19,135 INFO L273 TraceCheckUtils]: 19: Hoare triple {559#true} #res := ~ret~0[32:0]; {559#true} is VALID [2018-11-23 10:22:19,135 INFO L273 TraceCheckUtils]: 18: Hoare triple {559#true} assume !~bvslt32(~i~0, 5bv32); {559#true} is VALID [2018-11-23 10:22:19,135 INFO L273 TraceCheckUtils]: 17: Hoare triple {559#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {559#true} is VALID [2018-11-23 10:22:19,136 INFO L256 TraceCheckUtils]: 16: Hoare triple {560#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {559#true} is VALID [2018-11-23 10:22:19,136 INFO L273 TraceCheckUtils]: 15: Hoare triple {560#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); {560#false} is VALID [2018-11-23 10:22:19,136 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {559#true} {560#false} #75#return; {560#false} is VALID [2018-11-23 10:22:19,136 INFO L273 TraceCheckUtils]: 13: Hoare triple {559#true} assume true; {559#true} is VALID [2018-11-23 10:22:19,137 INFO L273 TraceCheckUtils]: 12: Hoare triple {559#true} #res := ~ret~0[32:0]; {559#true} is VALID [2018-11-23 10:22:19,137 INFO L273 TraceCheckUtils]: 11: Hoare triple {559#true} assume !~bvslt32(~i~0, 5bv32); {559#true} is VALID [2018-11-23 10:22:19,137 INFO L273 TraceCheckUtils]: 10: Hoare triple {559#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {559#true} is VALID [2018-11-23 10:22:19,137 INFO L256 TraceCheckUtils]: 9: Hoare triple {560#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {559#true} is VALID [2018-11-23 10:22:19,153 INFO L273 TraceCheckUtils]: 8: Hoare triple {740#(bvslt main_~i~1 (_ bv5 32))} assume !~bvslt32(~i~1, 5bv32); {560#false} is VALID [2018-11-23 10:22:19,163 INFO L273 TraceCheckUtils]: 7: Hoare triple {744#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {740#(bvslt main_~i~1 (_ bv5 32))} is VALID [2018-11-23 10:22:19,178 INFO L273 TraceCheckUtils]: 6: Hoare triple {744#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {744#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:19,181 INFO L273 TraceCheckUtils]: 5: Hoare triple {559#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {744#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:19,181 INFO L256 TraceCheckUtils]: 4: Hoare triple {559#true} call #t~ret14 := main(); {559#true} is VALID [2018-11-23 10:22:19,182 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {559#true} {559#true} #71#return; {559#true} is VALID [2018-11-23 10:22:19,182 INFO L273 TraceCheckUtils]: 2: Hoare triple {559#true} assume true; {559#true} is VALID [2018-11-23 10:22:19,182 INFO L273 TraceCheckUtils]: 1: Hoare triple {559#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {559#true} is VALID [2018-11-23 10:22:19,183 INFO L256 TraceCheckUtils]: 0: Hoare triple {559#true} call ULTIMATE.init(); {559#true} is VALID [2018-11-23 10:22:19,185 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:22:19,187 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:19,187 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:22:19,188 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 34 [2018-11-23 10:22:19,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:19,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:22:19,279 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:22:19,279 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:22:19,279 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:22:19,280 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:22:19,280 INFO L87 Difference]: Start difference. First operand 28 states and 33 transitions. Second operand 6 states. [2018-11-23 10:22:19,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:19,706 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2018-11-23 10:22:19,706 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:22:19,706 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 34 [2018-11-23 10:22:19,706 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:19,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:19,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2018-11-23 10:22:19,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:19,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2018-11-23 10:22:19,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2018-11-23 10:22:19,842 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:19,844 INFO L225 Difference]: With dead ends: 53 [2018-11-23 10:22:19,844 INFO L226 Difference]: Without dead ends: 34 [2018-11-23 10:22:19,845 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:22:19,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2018-11-23 10:22:19,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2018-11-23 10:22:19,856 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:19,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 34 states. [2018-11-23 10:22:19,856 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2018-11-23 10:22:19,856 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2018-11-23 10:22:19,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:19,860 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-23 10:22:19,861 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 10:22:19,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:19,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:19,862 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 34 states. [2018-11-23 10:22:19,862 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 34 states. [2018-11-23 10:22:19,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:19,866 INFO L93 Difference]: Finished difference Result 34 states and 39 transitions. [2018-11-23 10:22:19,866 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 10:22:19,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:19,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:19,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:19,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:19,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-11-23 10:22:19,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 39 transitions. [2018-11-23 10:22:19,870 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 39 transitions. Word has length 34 [2018-11-23 10:22:19,870 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:19,870 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 39 transitions. [2018-11-23 10:22:19,871 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:22:19,871 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 39 transitions. [2018-11-23 10:22:19,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2018-11-23 10:22:19,872 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:19,873 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:22:19,873 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:19,873 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:19,873 INFO L82 PathProgramCache]: Analyzing trace with hash 104240766, now seen corresponding path program 2 times [2018-11-23 10:22:19,874 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:19,874 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:22:19,899 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:22:19,932 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2018-11-23 10:22:19,932 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:22:19,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:19,957 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:20,041 INFO L256 TraceCheckUtils]: 0: Hoare triple {961#true} call ULTIMATE.init(); {961#true} is VALID [2018-11-23 10:22:20,042 INFO L273 TraceCheckUtils]: 1: Hoare triple {961#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {961#true} is VALID [2018-11-23 10:22:20,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 10:22:20,043 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {961#true} {961#true} #71#return; {961#true} is VALID [2018-11-23 10:22:20,044 INFO L256 TraceCheckUtils]: 4: Hoare triple {961#true} call #t~ret14 := main(); {961#true} is VALID [2018-11-23 10:22:20,044 INFO L273 TraceCheckUtils]: 5: Hoare triple {961#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {961#true} is VALID [2018-11-23 10:22:20,044 INFO L273 TraceCheckUtils]: 6: Hoare triple {961#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {961#true} is VALID [2018-11-23 10:22:20,044 INFO L273 TraceCheckUtils]: 7: Hoare triple {961#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {961#true} is VALID [2018-11-23 10:22:20,045 INFO L273 TraceCheckUtils]: 8: Hoare triple {961#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {961#true} is VALID [2018-11-23 10:22:20,045 INFO L273 TraceCheckUtils]: 9: Hoare triple {961#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {961#true} is VALID [2018-11-23 10:22:20,045 INFO L273 TraceCheckUtils]: 10: Hoare triple {961#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {961#true} is VALID [2018-11-23 10:22:20,045 INFO L273 TraceCheckUtils]: 11: Hoare triple {961#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {961#true} is VALID [2018-11-23 10:22:20,046 INFO L273 TraceCheckUtils]: 12: Hoare triple {961#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {961#true} is VALID [2018-11-23 10:22:20,046 INFO L273 TraceCheckUtils]: 13: Hoare triple {961#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {961#true} is VALID [2018-11-23 10:22:20,046 INFO L273 TraceCheckUtils]: 14: Hoare triple {961#true} assume !~bvslt32(~i~1, 5bv32); {961#true} is VALID [2018-11-23 10:22:20,046 INFO L256 TraceCheckUtils]: 15: Hoare triple {961#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {961#true} is VALID [2018-11-23 10:22:20,047 INFO L273 TraceCheckUtils]: 16: Hoare triple {961#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {961#true} is VALID [2018-11-23 10:22:20,047 INFO L273 TraceCheckUtils]: 17: Hoare triple {961#true} assume !~bvslt32(~i~0, 5bv32); {961#true} is VALID [2018-11-23 10:22:20,047 INFO L273 TraceCheckUtils]: 18: Hoare triple {961#true} #res := ~ret~0[32:0]; {961#true} is VALID [2018-11-23 10:22:20,048 INFO L273 TraceCheckUtils]: 19: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 10:22:20,048 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {961#true} {961#true} #75#return; {961#true} is VALID [2018-11-23 10:22:20,048 INFO L273 TraceCheckUtils]: 21: Hoare triple {961#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); {961#true} is VALID [2018-11-23 10:22:20,048 INFO L256 TraceCheckUtils]: 22: Hoare triple {961#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {961#true} is VALID [2018-11-23 10:22:20,049 INFO L273 TraceCheckUtils]: 23: Hoare triple {961#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {961#true} is VALID [2018-11-23 10:22:20,049 INFO L273 TraceCheckUtils]: 24: Hoare triple {961#true} assume !~bvslt32(~i~0, 5bv32); {961#true} is VALID [2018-11-23 10:22:20,049 INFO L273 TraceCheckUtils]: 25: Hoare triple {961#true} #res := ~ret~0[32:0]; {961#true} is VALID [2018-11-23 10:22:20,050 INFO L273 TraceCheckUtils]: 26: Hoare triple {961#true} assume true; {961#true} is VALID [2018-11-23 10:22:20,050 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {961#true} {961#true} #77#return; {961#true} is VALID [2018-11-23 10:22:20,050 INFO L273 TraceCheckUtils]: 28: Hoare triple {961#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; {961#true} is VALID [2018-11-23 10:22:20,050 INFO L273 TraceCheckUtils]: 29: Hoare triple {961#true} assume !~bvslt32(~i~2, 4bv32); {961#true} is VALID [2018-11-23 10:22:20,051 INFO L273 TraceCheckUtils]: 30: Hoare triple {961#true} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {961#true} is VALID [2018-11-23 10:22:20,051 INFO L256 TraceCheckUtils]: 31: Hoare triple {961#true} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {961#true} is VALID [2018-11-23 10:22:20,055 INFO L273 TraceCheckUtils]: 32: Hoare triple {961#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1062#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:20,060 INFO L273 TraceCheckUtils]: 33: Hoare triple {1062#(= (_ bv0 32) sep_~i~0)} assume !~bvslt32(~i~0, 5bv32); {962#false} is VALID [2018-11-23 10:22:20,060 INFO L273 TraceCheckUtils]: 34: Hoare triple {962#false} #res := ~ret~0[32:0]; {962#false} is VALID [2018-11-23 10:22:20,060 INFO L273 TraceCheckUtils]: 35: Hoare triple {962#false} assume true; {962#false} is VALID [2018-11-23 10:22:20,061 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {962#false} {961#true} #79#return; {962#false} is VALID [2018-11-23 10:22:20,061 INFO L273 TraceCheckUtils]: 37: Hoare triple {962#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {962#false} is VALID [2018-11-23 10:22:20,061 INFO L273 TraceCheckUtils]: 38: Hoare triple {962#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {962#false} is VALID [2018-11-23 10:22:20,061 INFO L273 TraceCheckUtils]: 39: Hoare triple {962#false} assume !false; {962#false} is VALID [2018-11-23 10:22:20,064 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:22:20,064 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (5)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:22:20,070 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:22:20,071 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:22:20,071 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 10:22:20,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:20,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:22:20,121 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:22:20,121 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:22:20,121 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:22:20,122 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:22:20,122 INFO L87 Difference]: Start difference. First operand 34 states and 39 transitions. Second operand 3 states. [2018-11-23 10:22:20,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:20,270 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2018-11-23 10:22:20,271 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:22:20,271 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 40 [2018-11-23 10:22:20,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:20,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:20,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 10:22:20,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:20,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 61 transitions. [2018-11-23 10:22:20,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 61 transitions. [2018-11-23 10:22:20,407 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:20,410 INFO L225 Difference]: With dead ends: 55 [2018-11-23 10:22:20,411 INFO L226 Difference]: Without dead ends: 37 [2018-11-23 10:22:20,411 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:22:20,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-11-23 10:22:20,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 35. [2018-11-23 10:22:20,491 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:20,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 35 states. [2018-11-23 10:22:20,491 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 35 states. [2018-11-23 10:22:20,492 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 35 states. [2018-11-23 10:22:20,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:20,494 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2018-11-23 10:22:20,494 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2018-11-23 10:22:20,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:20,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:20,496 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 37 states. [2018-11-23 10:22:20,496 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 37 states. [2018-11-23 10:22:20,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:20,499 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2018-11-23 10:22:20,499 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2018-11-23 10:22:20,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:20,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:20,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:20,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:20,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-23 10:22:20,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 40 transitions. [2018-11-23 10:22:20,503 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 40 transitions. Word has length 40 [2018-11-23 10:22:20,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:20,504 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 40 transitions. [2018-11-23 10:22:20,504 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:22:20,504 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 40 transitions. [2018-11-23 10:22:20,505 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2018-11-23 10:22:20,506 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:20,506 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 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:22:20,506 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:20,506 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:20,507 INFO L82 PathProgramCache]: Analyzing trace with hash 1507783831, now seen corresponding path program 1 times [2018-11-23 10:22:20,507 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:20,507 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:22:20,527 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:22:20,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:20,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:20,654 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:20,784 INFO L256 TraceCheckUtils]: 0: Hoare triple {1284#true} call ULTIMATE.init(); {1284#true} is VALID [2018-11-23 10:22:20,784 INFO L273 TraceCheckUtils]: 1: Hoare triple {1284#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1284#true} is VALID [2018-11-23 10:22:20,785 INFO L273 TraceCheckUtils]: 2: Hoare triple {1284#true} assume true; {1284#true} is VALID [2018-11-23 10:22:20,785 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1284#true} {1284#true} #71#return; {1284#true} is VALID [2018-11-23 10:22:20,785 INFO L256 TraceCheckUtils]: 4: Hoare triple {1284#true} call #t~ret14 := main(); {1284#true} is VALID [2018-11-23 10:22:20,786 INFO L273 TraceCheckUtils]: 5: Hoare triple {1284#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1304#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:22:20,786 INFO L273 TraceCheckUtils]: 6: Hoare triple {1304#(= main_~i~1 (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1304#(= main_~i~1 (_ bv0 32))} is VALID [2018-11-23 10:22:20,791 INFO L273 TraceCheckUtils]: 7: Hoare triple {1304#(= main_~i~1 (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1311#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,792 INFO L273 TraceCheckUtils]: 8: Hoare triple {1311#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1311#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,793 INFO L273 TraceCheckUtils]: 9: Hoare triple {1311#(= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1318#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,793 INFO L273 TraceCheckUtils]: 10: Hoare triple {1318#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1318#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,794 INFO L273 TraceCheckUtils]: 11: Hoare triple {1318#(= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1325#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,795 INFO L273 TraceCheckUtils]: 12: Hoare triple {1325#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1325#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,796 INFO L273 TraceCheckUtils]: 13: Hoare triple {1325#(= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1332#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:20,797 INFO L273 TraceCheckUtils]: 14: Hoare triple {1332#(= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32))} assume !~bvslt32(~i~1, 5bv32); {1285#false} is VALID [2018-11-23 10:22:20,797 INFO L256 TraceCheckUtils]: 15: Hoare triple {1285#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1285#false} is VALID [2018-11-23 10:22:20,798 INFO L273 TraceCheckUtils]: 16: Hoare triple {1285#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1285#false} is VALID [2018-11-23 10:22:20,798 INFO L273 TraceCheckUtils]: 17: Hoare triple {1285#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1285#false} is VALID [2018-11-23 10:22:20,798 INFO L273 TraceCheckUtils]: 18: Hoare triple {1285#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1285#false} is VALID [2018-11-23 10:22:20,799 INFO L273 TraceCheckUtils]: 19: Hoare triple {1285#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1285#false} is VALID [2018-11-23 10:22:20,799 INFO L273 TraceCheckUtils]: 20: Hoare triple {1285#false} assume !~bvslt32(~i~0, 5bv32); {1285#false} is VALID [2018-11-23 10:22:20,800 INFO L273 TraceCheckUtils]: 21: Hoare triple {1285#false} #res := ~ret~0[32:0]; {1285#false} is VALID [2018-11-23 10:22:20,800 INFO L273 TraceCheckUtils]: 22: Hoare triple {1285#false} assume true; {1285#false} is VALID [2018-11-23 10:22:20,800 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1285#false} {1285#false} #75#return; {1285#false} is VALID [2018-11-23 10:22:20,801 INFO L273 TraceCheckUtils]: 24: Hoare triple {1285#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); {1285#false} is VALID [2018-11-23 10:22:20,801 INFO L256 TraceCheckUtils]: 25: Hoare triple {1285#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1285#false} is VALID [2018-11-23 10:22:20,801 INFO L273 TraceCheckUtils]: 26: Hoare triple {1285#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1285#false} is VALID [2018-11-23 10:22:20,802 INFO L273 TraceCheckUtils]: 27: Hoare triple {1285#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1285#false} is VALID [2018-11-23 10:22:20,802 INFO L273 TraceCheckUtils]: 28: Hoare triple {1285#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1285#false} is VALID [2018-11-23 10:22:20,802 INFO L273 TraceCheckUtils]: 29: Hoare triple {1285#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1285#false} is VALID [2018-11-23 10:22:20,803 INFO L273 TraceCheckUtils]: 30: Hoare triple {1285#false} assume !~bvslt32(~i~0, 5bv32); {1285#false} is VALID [2018-11-23 10:22:20,803 INFO L273 TraceCheckUtils]: 31: Hoare triple {1285#false} #res := ~ret~0[32:0]; {1285#false} is VALID [2018-11-23 10:22:20,803 INFO L273 TraceCheckUtils]: 32: Hoare triple {1285#false} assume true; {1285#false} is VALID [2018-11-23 10:22:20,804 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1285#false} {1285#false} #77#return; {1285#false} is VALID [2018-11-23 10:22:20,804 INFO L273 TraceCheckUtils]: 34: Hoare triple {1285#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; {1285#false} is VALID [2018-11-23 10:22:20,804 INFO L273 TraceCheckUtils]: 35: Hoare triple {1285#false} assume !~bvslt32(~i~2, 4bv32); {1285#false} is VALID [2018-11-23 10:22:20,805 INFO L273 TraceCheckUtils]: 36: Hoare triple {1285#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {1285#false} is VALID [2018-11-23 10:22:20,805 INFO L256 TraceCheckUtils]: 37: Hoare triple {1285#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1285#false} is VALID [2018-11-23 10:22:20,805 INFO L273 TraceCheckUtils]: 38: Hoare triple {1285#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1285#false} is VALID [2018-11-23 10:22:20,805 INFO L273 TraceCheckUtils]: 39: Hoare triple {1285#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1285#false} is VALID [2018-11-23 10:22:20,806 INFO L273 TraceCheckUtils]: 40: Hoare triple {1285#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1285#false} is VALID [2018-11-23 10:22:20,806 INFO L273 TraceCheckUtils]: 41: Hoare triple {1285#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1285#false} is VALID [2018-11-23 10:22:20,806 INFO L273 TraceCheckUtils]: 42: Hoare triple {1285#false} assume !~bvslt32(~i~0, 5bv32); {1285#false} is VALID [2018-11-23 10:22:20,807 INFO L273 TraceCheckUtils]: 43: Hoare triple {1285#false} #res := ~ret~0[32:0]; {1285#false} is VALID [2018-11-23 10:22:20,807 INFO L273 TraceCheckUtils]: 44: Hoare triple {1285#false} assume true; {1285#false} is VALID [2018-11-23 10:22:20,807 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1285#false} {1285#false} #79#return; {1285#false} is VALID [2018-11-23 10:22:20,807 INFO L273 TraceCheckUtils]: 46: Hoare triple {1285#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1285#false} is VALID [2018-11-23 10:22:20,808 INFO L273 TraceCheckUtils]: 47: Hoare triple {1285#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1285#false} is VALID [2018-11-23 10:22:20,808 INFO L273 TraceCheckUtils]: 48: Hoare triple {1285#false} assume !false; {1285#false} is VALID [2018-11-23 10:22:20,812 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2018-11-23 10:22:20,812 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:21,166 INFO L273 TraceCheckUtils]: 48: Hoare triple {1285#false} assume !false; {1285#false} is VALID [2018-11-23 10:22:21,167 INFO L273 TraceCheckUtils]: 47: Hoare triple {1285#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1285#false} is VALID [2018-11-23 10:22:21,167 INFO L273 TraceCheckUtils]: 46: Hoare triple {1285#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1285#false} is VALID [2018-11-23 10:22:21,168 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1284#true} {1285#false} #79#return; {1285#false} is VALID [2018-11-23 10:22:21,168 INFO L273 TraceCheckUtils]: 44: Hoare triple {1284#true} assume true; {1284#true} is VALID [2018-11-23 10:22:21,168 INFO L273 TraceCheckUtils]: 43: Hoare triple {1284#true} #res := ~ret~0[32:0]; {1284#true} is VALID [2018-11-23 10:22:21,169 INFO L273 TraceCheckUtils]: 42: Hoare triple {1284#true} assume !~bvslt32(~i~0, 5bv32); {1284#true} is VALID [2018-11-23 10:22:21,169 INFO L273 TraceCheckUtils]: 41: Hoare triple {1284#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1284#true} is VALID [2018-11-23 10:22:21,169 INFO L273 TraceCheckUtils]: 40: Hoare triple {1284#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1284#true} is VALID [2018-11-23 10:22:21,169 INFO L273 TraceCheckUtils]: 39: Hoare triple {1284#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1284#true} is VALID [2018-11-23 10:22:21,170 INFO L273 TraceCheckUtils]: 38: Hoare triple {1284#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1284#true} is VALID [2018-11-23 10:22:21,170 INFO L256 TraceCheckUtils]: 37: Hoare triple {1285#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1284#true} is VALID [2018-11-23 10:22:21,170 INFO L273 TraceCheckUtils]: 36: Hoare triple {1285#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {1285#false} is VALID [2018-11-23 10:22:21,170 INFO L273 TraceCheckUtils]: 35: Hoare triple {1285#false} assume !~bvslt32(~i~2, 4bv32); {1285#false} is VALID [2018-11-23 10:22:21,171 INFO L273 TraceCheckUtils]: 34: Hoare triple {1285#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; {1285#false} is VALID [2018-11-23 10:22:21,171 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {1284#true} {1285#false} #77#return; {1285#false} is VALID [2018-11-23 10:22:21,171 INFO L273 TraceCheckUtils]: 32: Hoare triple {1284#true} assume true; {1284#true} is VALID [2018-11-23 10:22:21,171 INFO L273 TraceCheckUtils]: 31: Hoare triple {1284#true} #res := ~ret~0[32:0]; {1284#true} is VALID [2018-11-23 10:22:21,171 INFO L273 TraceCheckUtils]: 30: Hoare triple {1284#true} assume !~bvslt32(~i~0, 5bv32); {1284#true} is VALID [2018-11-23 10:22:21,172 INFO L273 TraceCheckUtils]: 29: Hoare triple {1284#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1284#true} is VALID [2018-11-23 10:22:21,172 INFO L273 TraceCheckUtils]: 28: Hoare triple {1284#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1284#true} is VALID [2018-11-23 10:22:21,172 INFO L273 TraceCheckUtils]: 27: Hoare triple {1284#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1284#true} is VALID [2018-11-23 10:22:21,172 INFO L273 TraceCheckUtils]: 26: Hoare triple {1284#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1284#true} is VALID [2018-11-23 10:22:21,172 INFO L256 TraceCheckUtils]: 25: Hoare triple {1285#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1284#true} is VALID [2018-11-23 10:22:21,173 INFO L273 TraceCheckUtils]: 24: Hoare triple {1285#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); {1285#false} is VALID [2018-11-23 10:22:21,173 INFO L268 TraceCheckUtils]: 23: Hoare quadruple {1284#true} {1285#false} #75#return; {1285#false} is VALID [2018-11-23 10:22:21,173 INFO L273 TraceCheckUtils]: 22: Hoare triple {1284#true} assume true; {1284#true} is VALID [2018-11-23 10:22:21,173 INFO L273 TraceCheckUtils]: 21: Hoare triple {1284#true} #res := ~ret~0[32:0]; {1284#true} is VALID [2018-11-23 10:22:21,173 INFO L273 TraceCheckUtils]: 20: Hoare triple {1284#true} assume !~bvslt32(~i~0, 5bv32); {1284#true} is VALID [2018-11-23 10:22:21,174 INFO L273 TraceCheckUtils]: 19: Hoare triple {1284#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1284#true} is VALID [2018-11-23 10:22:21,174 INFO L273 TraceCheckUtils]: 18: Hoare triple {1284#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1284#true} is VALID [2018-11-23 10:22:21,174 INFO L273 TraceCheckUtils]: 17: Hoare triple {1284#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1284#true} is VALID [2018-11-23 10:22:21,174 INFO L273 TraceCheckUtils]: 16: Hoare triple {1284#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1284#true} is VALID [2018-11-23 10:22:21,175 INFO L256 TraceCheckUtils]: 15: Hoare triple {1285#false} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1284#true} is VALID [2018-11-23 10:22:21,185 INFO L273 TraceCheckUtils]: 14: Hoare triple {1540#(bvslt main_~i~1 (_ bv5 32))} assume !~bvslt32(~i~1, 5bv32); {1285#false} is VALID [2018-11-23 10:22:21,187 INFO L273 TraceCheckUtils]: 13: Hoare triple {1544#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1540#(bvslt main_~i~1 (_ bv5 32))} is VALID [2018-11-23 10:22:21,188 INFO L273 TraceCheckUtils]: 12: Hoare triple {1544#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1544#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,192 INFO L273 TraceCheckUtils]: 11: Hoare triple {1551#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv5 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1544#(bvslt (bvadd main_~i~1 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,193 INFO L273 TraceCheckUtils]: 10: Hoare triple {1551#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv5 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1551#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {1558#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv5 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1551#(bvslt (bvadd main_~i~1 (_ bv2 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,197 INFO L273 TraceCheckUtils]: 8: Hoare triple {1558#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv5 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1558#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,201 INFO L273 TraceCheckUtils]: 7: Hoare triple {1565#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv5 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1558#(bvslt (bvadd main_~i~1 (_ bv3 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,207 INFO L273 TraceCheckUtils]: 6: Hoare triple {1565#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv5 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1565#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,208 INFO L273 TraceCheckUtils]: 5: Hoare triple {1284#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1565#(bvslt (bvadd main_~i~1 (_ bv4 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:21,208 INFO L256 TraceCheckUtils]: 4: Hoare triple {1284#true} call #t~ret14 := main(); {1284#true} is VALID [2018-11-23 10:22:21,209 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1284#true} {1284#true} #71#return; {1284#true} is VALID [2018-11-23 10:22:21,209 INFO L273 TraceCheckUtils]: 2: Hoare triple {1284#true} assume true; {1284#true} is VALID [2018-11-23 10:22:21,209 INFO L273 TraceCheckUtils]: 1: Hoare triple {1284#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1284#true} is VALID [2018-11-23 10:22:21,209 INFO L256 TraceCheckUtils]: 0: Hoare triple {1284#true} call ULTIMATE.init(); {1284#true} is VALID [2018-11-23 10:22:21,213 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2018-11-23 10:22:21,217 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:21,218 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 10:22:21,218 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 49 [2018-11-23 10:22:21,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:21,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 10:22:21,417 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:22:21,417 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 10:22:21,417 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 10:22:21,418 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:22:21,418 INFO L87 Difference]: Start difference. First operand 35 states and 40 transitions. Second operand 12 states. [2018-11-23 10:22:22,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:22,218 INFO L93 Difference]: Finished difference Result 58 states and 68 transitions. [2018-11-23 10:22:22,218 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 10:22:22,218 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 49 [2018-11-23 10:22:22,219 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:22,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:22:22,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 66 transitions. [2018-11-23 10:22:22,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:22:22,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 66 transitions. [2018-11-23 10:22:22,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 66 transitions. [2018-11-23 10:22:22,360 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:22,363 INFO L225 Difference]: With dead ends: 58 [2018-11-23 10:22:22,363 INFO L226 Difference]: Without dead ends: 38 [2018-11-23 10:22:22,364 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 97 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:22:22,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-11-23 10:22:22,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 37. [2018-11-23 10:22:22,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:22,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 37 states. [2018-11-23 10:22:22,401 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 37 states. [2018-11-23 10:22:22,402 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 37 states. [2018-11-23 10:22:22,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:22,404 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2018-11-23 10:22:22,404 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2018-11-23 10:22:22,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:22,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:22,405 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 38 states. [2018-11-23 10:22:22,405 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 38 states. [2018-11-23 10:22:22,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:22,408 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2018-11-23 10:22:22,408 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2018-11-23 10:22:22,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:22,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:22,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:22,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:22,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-11-23 10:22:22,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2018-11-23 10:22:22,412 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 49 [2018-11-23 10:22:22,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:22,412 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2018-11-23 10:22:22,412 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 10:22:22,412 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2018-11-23 10:22:22,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2018-11-23 10:22:22,414 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:22,414 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 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:22:22,414 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:22,415 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:22,415 INFO L82 PathProgramCache]: Analyzing trace with hash -210644683, now seen corresponding path program 2 times [2018-11-23 10:22:22,415 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:22,415 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:22:22,438 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:22:22,554 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:22:22,554 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:22:22,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:22,584 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:22,698 INFO L256 TraceCheckUtils]: 0: Hoare triple {1801#true} call ULTIMATE.init(); {1801#true} is VALID [2018-11-23 10:22:22,699 INFO L273 TraceCheckUtils]: 1: Hoare triple {1801#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1801#true} is VALID [2018-11-23 10:22:22,699 INFO L273 TraceCheckUtils]: 2: Hoare triple {1801#true} assume true; {1801#true} is VALID [2018-11-23 10:22:22,699 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1801#true} {1801#true} #71#return; {1801#true} is VALID [2018-11-23 10:22:22,699 INFO L256 TraceCheckUtils]: 4: Hoare triple {1801#true} call #t~ret14 := main(); {1801#true} is VALID [2018-11-23 10:22:22,700 INFO L273 TraceCheckUtils]: 5: Hoare triple {1801#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1801#true} is VALID [2018-11-23 10:22:22,700 INFO L273 TraceCheckUtils]: 6: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,700 INFO L273 TraceCheckUtils]: 7: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,700 INFO L273 TraceCheckUtils]: 8: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,701 INFO L273 TraceCheckUtils]: 9: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,701 INFO L273 TraceCheckUtils]: 10: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,701 INFO L273 TraceCheckUtils]: 11: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,701 INFO L273 TraceCheckUtils]: 12: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,701 INFO L273 TraceCheckUtils]: 13: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,702 INFO L273 TraceCheckUtils]: 14: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,702 INFO L273 TraceCheckUtils]: 15: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,702 INFO L273 TraceCheckUtils]: 16: Hoare triple {1801#true} assume !~bvslt32(~i~1, 5bv32); {1801#true} is VALID [2018-11-23 10:22:22,702 INFO L256 TraceCheckUtils]: 17: Hoare triple {1801#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1801#true} is VALID [2018-11-23 10:22:22,703 INFO L273 TraceCheckUtils]: 18: Hoare triple {1801#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1860#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:22,706 INFO L273 TraceCheckUtils]: 19: Hoare triple {1860#(= (_ bv0 32) sep_~i~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1860#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:22,706 INFO L273 TraceCheckUtils]: 20: Hoare triple {1860#(= (_ bv0 32) sep_~i~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1860#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:22,707 INFO L273 TraceCheckUtils]: 21: Hoare triple {1860#(= (_ bv0 32) sep_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1870#(= (_ bv1 32) sep_~i~0)} is VALID [2018-11-23 10:22:22,707 INFO L273 TraceCheckUtils]: 22: Hoare triple {1870#(= (_ bv1 32) sep_~i~0)} assume !~bvslt32(~i~0, 5bv32); {1802#false} is VALID [2018-11-23 10:22:22,707 INFO L273 TraceCheckUtils]: 23: Hoare triple {1802#false} #res := ~ret~0[32:0]; {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L273 TraceCheckUtils]: 24: Hoare triple {1802#false} assume true; {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1802#false} {1801#true} #75#return; {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L273 TraceCheckUtils]: 26: Hoare triple {1802#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); {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L256 TraceCheckUtils]: 27: Hoare triple {1802#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L273 TraceCheckUtils]: 28: Hoare triple {1802#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L273 TraceCheckUtils]: 29: Hoare triple {1802#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,708 INFO L273 TraceCheckUtils]: 30: Hoare triple {1802#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L273 TraceCheckUtils]: 31: Hoare triple {1802#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L273 TraceCheckUtils]: 32: Hoare triple {1802#false} assume !~bvslt32(~i~0, 5bv32); {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L273 TraceCheckUtils]: 33: Hoare triple {1802#false} #res := ~ret~0[32:0]; {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L273 TraceCheckUtils]: 34: Hoare triple {1802#false} assume true; {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1802#false} {1802#false} #77#return; {1802#false} is VALID [2018-11-23 10:22:22,709 INFO L273 TraceCheckUtils]: 36: Hoare triple {1802#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; {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L273 TraceCheckUtils]: 37: Hoare triple {1802#false} assume !~bvslt32(~i~2, 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L273 TraceCheckUtils]: 38: Hoare triple {1802#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L256 TraceCheckUtils]: 39: Hoare triple {1802#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L273 TraceCheckUtils]: 40: Hoare triple {1802#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L273 TraceCheckUtils]: 41: Hoare triple {1802#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,710 INFO L273 TraceCheckUtils]: 42: Hoare triple {1802#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 43: Hoare triple {1802#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 44: Hoare triple {1802#false} assume !~bvslt32(~i~0, 5bv32); {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 45: Hoare triple {1802#false} #res := ~ret~0[32:0]; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 46: Hoare triple {1802#false} assume true; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {1802#false} {1802#false} #79#return; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 48: Hoare triple {1802#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1802#false} is VALID [2018-11-23 10:22:22,711 INFO L273 TraceCheckUtils]: 49: Hoare triple {1802#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1802#false} is VALID [2018-11-23 10:22:22,712 INFO L273 TraceCheckUtils]: 50: Hoare triple {1802#false} assume !false; {1802#false} is VALID [2018-11-23 10:22:22,713 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 14 proven. 1 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2018-11-23 10:22:22,713 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:22,808 INFO L273 TraceCheckUtils]: 50: Hoare triple {1802#false} assume !false; {1802#false} is VALID [2018-11-23 10:22:22,808 INFO L273 TraceCheckUtils]: 49: Hoare triple {1802#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {1802#false} is VALID [2018-11-23 10:22:22,809 INFO L273 TraceCheckUtils]: 48: Hoare triple {1802#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {1802#false} is VALID [2018-11-23 10:22:22,809 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {1801#true} {1802#false} #79#return; {1802#false} is VALID [2018-11-23 10:22:22,809 INFO L273 TraceCheckUtils]: 46: Hoare triple {1801#true} assume true; {1801#true} is VALID [2018-11-23 10:22:22,810 INFO L273 TraceCheckUtils]: 45: Hoare triple {1801#true} #res := ~ret~0[32:0]; {1801#true} is VALID [2018-11-23 10:22:22,810 INFO L273 TraceCheckUtils]: 44: Hoare triple {1801#true} assume !~bvslt32(~i~0, 5bv32); {1801#true} is VALID [2018-11-23 10:22:22,810 INFO L273 TraceCheckUtils]: 43: Hoare triple {1801#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1801#true} is VALID [2018-11-23 10:22:22,810 INFO L273 TraceCheckUtils]: 42: Hoare triple {1801#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1801#true} is VALID [2018-11-23 10:22:22,810 INFO L273 TraceCheckUtils]: 41: Hoare triple {1801#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1801#true} is VALID [2018-11-23 10:22:22,811 INFO L273 TraceCheckUtils]: 40: Hoare triple {1801#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1801#true} is VALID [2018-11-23 10:22:22,811 INFO L256 TraceCheckUtils]: 39: Hoare triple {1802#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {1801#true} is VALID [2018-11-23 10:22:22,811 INFO L273 TraceCheckUtils]: 38: Hoare triple {1802#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,811 INFO L273 TraceCheckUtils]: 37: Hoare triple {1802#false} assume !~bvslt32(~i~2, 4bv32); {1802#false} is VALID [2018-11-23 10:22:22,812 INFO L273 TraceCheckUtils]: 36: Hoare triple {1802#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; {1802#false} is VALID [2018-11-23 10:22:22,812 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1801#true} {1802#false} #77#return; {1802#false} is VALID [2018-11-23 10:22:22,812 INFO L273 TraceCheckUtils]: 34: Hoare triple {1801#true} assume true; {1801#true} is VALID [2018-11-23 10:22:22,812 INFO L273 TraceCheckUtils]: 33: Hoare triple {1801#true} #res := ~ret~0[32:0]; {1801#true} is VALID [2018-11-23 10:22:22,813 INFO L273 TraceCheckUtils]: 32: Hoare triple {1801#true} assume !~bvslt32(~i~0, 5bv32); {1801#true} is VALID [2018-11-23 10:22:22,813 INFO L273 TraceCheckUtils]: 31: Hoare triple {1801#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {1801#true} is VALID [2018-11-23 10:22:22,813 INFO L273 TraceCheckUtils]: 30: Hoare triple {1801#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {1801#true} is VALID [2018-11-23 10:22:22,813 INFO L273 TraceCheckUtils]: 29: Hoare triple {1801#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {1801#true} is VALID [2018-11-23 10:22:22,814 INFO L273 TraceCheckUtils]: 28: Hoare triple {1801#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {1801#true} is VALID [2018-11-23 10:22:22,814 INFO L256 TraceCheckUtils]: 27: Hoare triple {1802#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {1801#true} is VALID [2018-11-23 10:22:22,814 INFO L273 TraceCheckUtils]: 26: Hoare triple {1802#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); {1802#false} is VALID [2018-11-23 10:22:22,814 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1802#false} {1801#true} #75#return; {1802#false} is VALID [2018-11-23 10:22:22,814 INFO L273 TraceCheckUtils]: 24: Hoare triple {1802#false} assume true; {1802#false} is VALID [2018-11-23 10:22:22,815 INFO L273 TraceCheckUtils]: 23: Hoare triple {1802#false} #res := ~ret~0[32:0]; {1802#false} is VALID [2018-11-23 10:22:22,815 INFO L273 TraceCheckUtils]: 22: Hoare triple {2045#(bvslt sep_~i~0 (_ bv5 32))} assume !~bvslt32(~i~0, 5bv32); {1802#false} is VALID [2018-11-23 10:22:22,817 INFO L273 TraceCheckUtils]: 21: Hoare triple {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2045#(bvslt sep_~i~0 (_ bv5 32))} is VALID [2018-11-23 10:22:22,818 INFO L273 TraceCheckUtils]: 20: Hoare triple {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:22,818 INFO L273 TraceCheckUtils]: 19: Hoare triple {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:22,824 INFO L273 TraceCheckUtils]: 18: Hoare triple {1801#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2049#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:22,825 INFO L256 TraceCheckUtils]: 17: Hoare triple {1801#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {1801#true} is VALID [2018-11-23 10:22:22,825 INFO L273 TraceCheckUtils]: 16: Hoare triple {1801#true} assume !~bvslt32(~i~1, 5bv32); {1801#true} is VALID [2018-11-23 10:22:22,825 INFO L273 TraceCheckUtils]: 15: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,825 INFO L273 TraceCheckUtils]: 14: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,826 INFO L273 TraceCheckUtils]: 13: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,826 INFO L273 TraceCheckUtils]: 12: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,826 INFO L273 TraceCheckUtils]: 11: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,826 INFO L273 TraceCheckUtils]: 10: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,827 INFO L273 TraceCheckUtils]: 9: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,827 INFO L273 TraceCheckUtils]: 8: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,827 INFO L273 TraceCheckUtils]: 7: Hoare triple {1801#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {1801#true} is VALID [2018-11-23 10:22:22,827 INFO L273 TraceCheckUtils]: 6: Hoare triple {1801#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {1801#true} is VALID [2018-11-23 10:22:22,827 INFO L273 TraceCheckUtils]: 5: Hoare triple {1801#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {1801#true} is VALID [2018-11-23 10:22:22,828 INFO L256 TraceCheckUtils]: 4: Hoare triple {1801#true} call #t~ret14 := main(); {1801#true} is VALID [2018-11-23 10:22:22,828 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1801#true} {1801#true} #71#return; {1801#true} is VALID [2018-11-23 10:22:22,828 INFO L273 TraceCheckUtils]: 2: Hoare triple {1801#true} assume true; {1801#true} is VALID [2018-11-23 10:22:22,828 INFO L273 TraceCheckUtils]: 1: Hoare triple {1801#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {1801#true} is VALID [2018-11-23 10:22:22,828 INFO L256 TraceCheckUtils]: 0: Hoare triple {1801#true} call ULTIMATE.init(); {1801#true} is VALID [2018-11-23 10:22:22,831 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [MP cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk (7)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 10:22:22,833 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:22,833 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:22:22,834 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 51 [2018-11-23 10:22:22,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:22,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:22:22,924 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:22,924 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:22:22,924 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:22:22,925 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:22:22,925 INFO L87 Difference]: Start difference. First operand 37 states and 42 transitions. Second operand 6 states. [2018-11-23 10:22:23,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:23,302 INFO L93 Difference]: Finished difference Result 65 states and 82 transitions. [2018-11-23 10:22:23,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:22:23,302 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 51 [2018-11-23 10:22:23,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:23,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:23,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-11-23 10:22:23,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:23,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-11-23 10:22:23,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-11-23 10:22:23,470 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:23,472 INFO L225 Difference]: With dead ends: 65 [2018-11-23 10:22:23,473 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 10:22:23,473 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 98 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:22:23,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 10:22:23,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2018-11-23 10:22:23,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:23,493 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 46 states. [2018-11-23 10:22:23,494 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2018-11-23 10:22:23,494 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2018-11-23 10:22:23,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:23,498 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-23 10:22:23,498 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2018-11-23 10:22:23,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:23,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:23,499 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2018-11-23 10:22:23,499 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2018-11-23 10:22:23,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:23,502 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2018-11-23 10:22:23,502 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2018-11-23 10:22:23,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:23,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:23,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:23,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:23,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-23 10:22:23,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 54 transitions. [2018-11-23 10:22:23,506 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 54 transitions. Word has length 51 [2018-11-23 10:22:23,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:23,506 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 54 transitions. [2018-11-23 10:22:23,506 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:22:23,506 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2018-11-23 10:22:23,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2018-11-23 10:22:23,508 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:23,508 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:22:23,508 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:23,508 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:23,508 INFO L82 PathProgramCache]: Analyzing trace with hash 783118176, now seen corresponding path program 3 times [2018-11-23 10:22:23,509 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:23,509 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:22:23,534 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:22:23,598 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-11-23 10:22:23,598 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:22:23,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:23,635 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:23,802 INFO L256 TraceCheckUtils]: 0: Hoare triple {2364#true} call ULTIMATE.init(); {2364#true} is VALID [2018-11-23 10:22:23,803 INFO L273 TraceCheckUtils]: 1: Hoare triple {2364#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2364#true} is VALID [2018-11-23 10:22:23,803 INFO L273 TraceCheckUtils]: 2: Hoare triple {2364#true} assume true; {2364#true} is VALID [2018-11-23 10:22:23,803 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2364#true} {2364#true} #71#return; {2364#true} is VALID [2018-11-23 10:22:23,804 INFO L256 TraceCheckUtils]: 4: Hoare triple {2364#true} call #t~ret14 := main(); {2364#true} is VALID [2018-11-23 10:22:23,804 INFO L273 TraceCheckUtils]: 5: Hoare triple {2364#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {2364#true} is VALID [2018-11-23 10:22:23,804 INFO L273 TraceCheckUtils]: 6: Hoare triple {2364#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2364#true} is VALID [2018-11-23 10:22:23,804 INFO L273 TraceCheckUtils]: 7: Hoare triple {2364#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2364#true} is VALID [2018-11-23 10:22:23,805 INFO L273 TraceCheckUtils]: 8: Hoare triple {2364#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2364#true} is VALID [2018-11-23 10:22:23,805 INFO L273 TraceCheckUtils]: 9: Hoare triple {2364#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2364#true} is VALID [2018-11-23 10:22:23,805 INFO L273 TraceCheckUtils]: 10: Hoare triple {2364#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2364#true} is VALID [2018-11-23 10:22:23,805 INFO L273 TraceCheckUtils]: 11: Hoare triple {2364#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2364#true} is VALID [2018-11-23 10:22:23,806 INFO L273 TraceCheckUtils]: 12: Hoare triple {2364#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2364#true} is VALID [2018-11-23 10:22:23,806 INFO L273 TraceCheckUtils]: 13: Hoare triple {2364#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2364#true} is VALID [2018-11-23 10:22:23,806 INFO L273 TraceCheckUtils]: 14: Hoare triple {2364#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2364#true} is VALID [2018-11-23 10:22:23,806 INFO L273 TraceCheckUtils]: 15: Hoare triple {2364#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2364#true} is VALID [2018-11-23 10:22:23,807 INFO L273 TraceCheckUtils]: 16: Hoare triple {2364#true} assume !~bvslt32(~i~1, 5bv32); {2364#true} is VALID [2018-11-23 10:22:23,807 INFO L256 TraceCheckUtils]: 17: Hoare triple {2364#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2364#true} is VALID [2018-11-23 10:22:23,807 INFO L273 TraceCheckUtils]: 18: Hoare triple {2364#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2364#true} is VALID [2018-11-23 10:22:23,807 INFO L273 TraceCheckUtils]: 19: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,808 INFO L273 TraceCheckUtils]: 20: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,808 INFO L273 TraceCheckUtils]: 21: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,808 INFO L273 TraceCheckUtils]: 22: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,808 INFO L273 TraceCheckUtils]: 23: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,809 INFO L273 TraceCheckUtils]: 24: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,809 INFO L273 TraceCheckUtils]: 25: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,809 INFO L273 TraceCheckUtils]: 26: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,809 INFO L273 TraceCheckUtils]: 27: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,810 INFO L273 TraceCheckUtils]: 28: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,810 INFO L273 TraceCheckUtils]: 29: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,810 INFO L273 TraceCheckUtils]: 30: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,810 INFO L273 TraceCheckUtils]: 31: Hoare triple {2364#true} assume !~bvslt32(~i~0, 5bv32); {2364#true} is VALID [2018-11-23 10:22:23,811 INFO L273 TraceCheckUtils]: 32: Hoare triple {2364#true} #res := ~ret~0[32:0]; {2364#true} is VALID [2018-11-23 10:22:23,811 INFO L273 TraceCheckUtils]: 33: Hoare triple {2364#true} assume true; {2364#true} is VALID [2018-11-23 10:22:23,811 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2364#true} {2364#true} #75#return; {2364#true} is VALID [2018-11-23 10:22:23,811 INFO L273 TraceCheckUtils]: 35: Hoare triple {2364#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); {2364#true} is VALID [2018-11-23 10:22:23,812 INFO L256 TraceCheckUtils]: 36: Hoare triple {2364#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2364#true} is VALID [2018-11-23 10:22:23,812 INFO L273 TraceCheckUtils]: 37: Hoare triple {2364#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2364#true} is VALID [2018-11-23 10:22:23,812 INFO L273 TraceCheckUtils]: 38: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,812 INFO L273 TraceCheckUtils]: 39: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,812 INFO L273 TraceCheckUtils]: 40: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,813 INFO L273 TraceCheckUtils]: 41: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,813 INFO L273 TraceCheckUtils]: 42: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,813 INFO L273 TraceCheckUtils]: 43: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,813 INFO L273 TraceCheckUtils]: 44: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,813 INFO L273 TraceCheckUtils]: 45: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 46: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 47: Hoare triple {2364#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 48: Hoare triple {2364#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 49: Hoare triple {2364#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 50: Hoare triple {2364#true} assume !~bvslt32(~i~0, 5bv32); {2364#true} is VALID [2018-11-23 10:22:23,814 INFO L273 TraceCheckUtils]: 51: Hoare triple {2364#true} #res := ~ret~0[32:0]; {2364#true} is VALID [2018-11-23 10:22:23,815 INFO L273 TraceCheckUtils]: 52: Hoare triple {2364#true} assume true; {2364#true} is VALID [2018-11-23 10:22:23,815 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {2364#true} {2364#true} #77#return; {2364#true} is VALID [2018-11-23 10:22:23,815 INFO L273 TraceCheckUtils]: 54: Hoare triple {2364#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; {2531#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:22:23,816 INFO L273 TraceCheckUtils]: 55: Hoare triple {2531#(= main_~i~2 (_ bv0 32))} assume !~bvslt32(~i~2, 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,816 INFO L273 TraceCheckUtils]: 56: Hoare triple {2365#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,816 INFO L256 TraceCheckUtils]: 57: Hoare triple {2365#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 58: Hoare triple {2365#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 59: Hoare triple {2365#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 60: Hoare triple {2365#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 61: Hoare triple {2365#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 62: Hoare triple {2365#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,817 INFO L273 TraceCheckUtils]: 63: Hoare triple {2365#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 64: Hoare triple {2365#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 65: Hoare triple {2365#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 66: Hoare triple {2365#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 67: Hoare triple {2365#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 68: Hoare triple {2365#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2365#false} is VALID [2018-11-23 10:22:23,818 INFO L273 TraceCheckUtils]: 69: Hoare triple {2365#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L273 TraceCheckUtils]: 70: Hoare triple {2365#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L273 TraceCheckUtils]: 71: Hoare triple {2365#false} assume !~bvslt32(~i~0, 5bv32); {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L273 TraceCheckUtils]: 72: Hoare triple {2365#false} #res := ~ret~0[32:0]; {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L273 TraceCheckUtils]: 73: Hoare triple {2365#false} assume true; {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L268 TraceCheckUtils]: 74: Hoare quadruple {2365#false} {2365#false} #79#return; {2365#false} is VALID [2018-11-23 10:22:23,819 INFO L273 TraceCheckUtils]: 75: Hoare triple {2365#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {2365#false} is VALID [2018-11-23 10:22:23,820 INFO L273 TraceCheckUtils]: 76: Hoare triple {2365#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2365#false} is VALID [2018-11-23 10:22:23,820 INFO L273 TraceCheckUtils]: 77: Hoare triple {2365#false} assume !false; {2365#false} is VALID [2018-11-23 10:22:23,825 INFO L134 CoverageAnalysis]: Checked inductivity of 274 backedges. 122 proven. 0 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2018-11-23 10:22:23,826 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 10:22:23,828 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 10:22:23,828 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 10:22:23,828 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 78 [2018-11-23 10:22:23,829 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:23,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 10:22:23,887 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:23,887 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 10:22:23,887 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 10:22:23,887 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 10:22:23,888 INFO L87 Difference]: Start difference. First operand 46 states and 54 transitions. Second operand 3 states. [2018-11-23 10:22:24,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:24,083 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2018-11-23 10:22:24,083 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 10:22:24,083 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 78 [2018-11-23 10:22:24,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:24,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:24,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 10:22:24,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 10:22:24,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 49 transitions. [2018-11-23 10:22:24,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 49 transitions. [2018-11-23 10:22:24,173 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:24,175 INFO L225 Difference]: With dead ends: 71 [2018-11-23 10:22:24,176 INFO L226 Difference]: Without dead ends: 48 [2018-11-23 10:22:24,177 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 76 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:22:24,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-23 10:22:24,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2018-11-23 10:22:24,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:24,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 47 states. [2018-11-23 10:22:24,211 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 47 states. [2018-11-23 10:22:24,211 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 47 states. [2018-11-23 10:22:24,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:24,213 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-11-23 10:22:24,213 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2018-11-23 10:22:24,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:24,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:24,214 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 48 states. [2018-11-23 10:22:24,214 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 48 states. [2018-11-23 10:22:24,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:24,216 INFO L93 Difference]: Finished difference Result 48 states and 56 transitions. [2018-11-23 10:22:24,216 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2018-11-23 10:22:24,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:24,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:24,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:24,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:24,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-23 10:22:24,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 55 transitions. [2018-11-23 10:22:24,220 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 55 transitions. Word has length 78 [2018-11-23 10:22:24,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:24,220 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 55 transitions. [2018-11-23 10:22:24,220 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 10:22:24,220 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2018-11-23 10:22:24,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2018-11-23 10:22:24,221 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:24,221 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:22:24,222 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:24,222 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:24,222 INFO L82 PathProgramCache]: Analyzing trace with hash -174901602, now seen corresponding path program 1 times [2018-11-23 10:22:24,222 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:24,223 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:22:24,242 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:22:24,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:24,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:24,492 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:24,661 INFO L256 TraceCheckUtils]: 0: Hoare triple {2863#true} call ULTIMATE.init(); {2863#true} is VALID [2018-11-23 10:22:24,662 INFO L273 TraceCheckUtils]: 1: Hoare triple {2863#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2863#true} is VALID [2018-11-23 10:22:24,662 INFO L273 TraceCheckUtils]: 2: Hoare triple {2863#true} assume true; {2863#true} is VALID [2018-11-23 10:22:24,662 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2863#true} {2863#true} #71#return; {2863#true} is VALID [2018-11-23 10:22:24,663 INFO L256 TraceCheckUtils]: 4: Hoare triple {2863#true} call #t~ret14 := main(); {2863#true} is VALID [2018-11-23 10:22:24,663 INFO L273 TraceCheckUtils]: 5: Hoare triple {2863#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {2863#true} is VALID [2018-11-23 10:22:24,663 INFO L273 TraceCheckUtils]: 6: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:24,664 INFO L273 TraceCheckUtils]: 7: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:24,664 INFO L273 TraceCheckUtils]: 8: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:24,664 INFO L273 TraceCheckUtils]: 9: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 10: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 11: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 12: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 13: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 14: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:24,665 INFO L273 TraceCheckUtils]: 15: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:24,666 INFO L273 TraceCheckUtils]: 16: Hoare triple {2863#true} assume !~bvslt32(~i~1, 5bv32); {2863#true} is VALID [2018-11-23 10:22:24,666 INFO L256 TraceCheckUtils]: 17: Hoare triple {2863#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2863#true} is VALID [2018-11-23 10:22:24,667 INFO L273 TraceCheckUtils]: 18: Hoare triple {2863#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2922#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,686 INFO L273 TraceCheckUtils]: 19: Hoare triple {2922#(= (_ bv0 32) sep_~i~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2922#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,695 INFO L273 TraceCheckUtils]: 20: Hoare triple {2922#(= (_ bv0 32) sep_~i~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2922#(= (_ bv0 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,711 INFO L273 TraceCheckUtils]: 21: Hoare triple {2922#(= (_ bv0 32) sep_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2932#(= (_ bv1 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,720 INFO L273 TraceCheckUtils]: 22: Hoare triple {2932#(= (_ bv1 32) sep_~i~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2932#(= (_ bv1 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,724 INFO L273 TraceCheckUtils]: 23: Hoare triple {2932#(= (_ bv1 32) sep_~i~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2932#(= (_ bv1 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,725 INFO L273 TraceCheckUtils]: 24: Hoare triple {2932#(= (_ bv1 32) sep_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2942#(= (_ bv2 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,726 INFO L273 TraceCheckUtils]: 25: Hoare triple {2942#(= (_ bv2 32) sep_~i~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2942#(= (_ bv2 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,726 INFO L273 TraceCheckUtils]: 26: Hoare triple {2942#(= (_ bv2 32) sep_~i~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2942#(= (_ bv2 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,728 INFO L273 TraceCheckUtils]: 27: Hoare triple {2942#(= (_ bv2 32) sep_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2952#(= (_ bv3 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,728 INFO L273 TraceCheckUtils]: 28: Hoare triple {2952#(= (_ bv3 32) sep_~i~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2952#(= (_ bv3 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,730 INFO L273 TraceCheckUtils]: 29: Hoare triple {2952#(= (_ bv3 32) sep_~i~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2952#(= (_ bv3 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,730 INFO L273 TraceCheckUtils]: 30: Hoare triple {2952#(= (_ bv3 32) sep_~i~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2962#(= (_ bv4 32) sep_~i~0)} is VALID [2018-11-23 10:22:24,731 INFO L273 TraceCheckUtils]: 31: Hoare triple {2962#(= (_ bv4 32) sep_~i~0)} assume !~bvslt32(~i~0, 5bv32); {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L273 TraceCheckUtils]: 32: Hoare triple {2864#false} #res := ~ret~0[32:0]; {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L273 TraceCheckUtils]: 33: Hoare triple {2864#false} assume true; {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2864#false} {2863#true} #75#return; {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L273 TraceCheckUtils]: 35: Hoare triple {2864#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); {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L256 TraceCheckUtils]: 36: Hoare triple {2864#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2864#false} is VALID [2018-11-23 10:22:24,731 INFO L273 TraceCheckUtils]: 37: Hoare triple {2864#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 38: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 39: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 40: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 41: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 42: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 43: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 44: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,732 INFO L273 TraceCheckUtils]: 45: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 46: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 47: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 48: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 49: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 50: Hoare triple {2864#false} assume !~bvslt32(~i~0, 5bv32); {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 51: Hoare triple {2864#false} #res := ~ret~0[32:0]; {2864#false} is VALID [2018-11-23 10:22:24,733 INFO L273 TraceCheckUtils]: 52: Hoare triple {2864#false} assume true; {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {2864#false} {2864#false} #77#return; {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L273 TraceCheckUtils]: 54: Hoare triple {2864#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; {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L273 TraceCheckUtils]: 55: Hoare triple {2864#false} assume !!~bvslt32(~i~2, 4bv32);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; {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L273 TraceCheckUtils]: 56: Hoare triple {2864#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L273 TraceCheckUtils]: 57: Hoare triple {2864#false} assume !~bvslt32(~i~2, 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,734 INFO L273 TraceCheckUtils]: 58: Hoare triple {2864#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,735 INFO L256 TraceCheckUtils]: 59: Hoare triple {2864#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2864#false} is VALID [2018-11-23 10:22:24,735 INFO L273 TraceCheckUtils]: 60: Hoare triple {2864#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2864#false} is VALID [2018-11-23 10:22:24,735 INFO L273 TraceCheckUtils]: 61: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,735 INFO L273 TraceCheckUtils]: 62: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 63: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 64: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 65: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 66: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 67: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,736 INFO L273 TraceCheckUtils]: 68: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,737 INFO L273 TraceCheckUtils]: 69: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,737 INFO L273 TraceCheckUtils]: 70: Hoare triple {2864#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,737 INFO L273 TraceCheckUtils]: 71: Hoare triple {2864#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2864#false} is VALID [2018-11-23 10:22:24,737 INFO L273 TraceCheckUtils]: 72: Hoare triple {2864#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2864#false} is VALID [2018-11-23 10:22:24,737 INFO L273 TraceCheckUtils]: 73: Hoare triple {2864#false} assume !~bvslt32(~i~0, 5bv32); {2864#false} is VALID [2018-11-23 10:22:24,738 INFO L273 TraceCheckUtils]: 74: Hoare triple {2864#false} #res := ~ret~0[32:0]; {2864#false} is VALID [2018-11-23 10:22:24,738 INFO L273 TraceCheckUtils]: 75: Hoare triple {2864#false} assume true; {2864#false} is VALID [2018-11-23 10:22:24,738 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {2864#false} {2864#false} #79#return; {2864#false} is VALID [2018-11-23 10:22:24,738 INFO L273 TraceCheckUtils]: 77: Hoare triple {2864#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {2864#false} is VALID [2018-11-23 10:22:24,738 INFO L273 TraceCheckUtils]: 78: Hoare triple {2864#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2864#false} is VALID [2018-11-23 10:22:24,739 INFO L273 TraceCheckUtils]: 79: Hoare triple {2864#false} assume !false; {2864#false} is VALID [2018-11-23 10:22:24,743 INFO L134 CoverageAnalysis]: Checked inductivity of 275 backedges. 116 proven. 22 refuted. 0 times theorem prover too weak. 137 trivial. 0 not checked. [2018-11-23 10:22:24,743 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:24,973 INFO L273 TraceCheckUtils]: 79: Hoare triple {2864#false} assume !false; {2864#false} is VALID [2018-11-23 10:22:24,974 INFO L273 TraceCheckUtils]: 78: Hoare triple {2864#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {2864#false} is VALID [2018-11-23 10:22:24,974 INFO L273 TraceCheckUtils]: 77: Hoare triple {2864#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {2864#false} is VALID [2018-11-23 10:22:24,974 INFO L268 TraceCheckUtils]: 76: Hoare quadruple {2863#true} {2864#false} #79#return; {2864#false} is VALID [2018-11-23 10:22:24,974 INFO L273 TraceCheckUtils]: 75: Hoare triple {2863#true} assume true; {2863#true} is VALID [2018-11-23 10:22:24,974 INFO L273 TraceCheckUtils]: 74: Hoare triple {2863#true} #res := ~ret~0[32:0]; {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 73: Hoare triple {2863#true} assume !~bvslt32(~i~0, 5bv32); {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 72: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 71: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 70: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 69: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 68: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,975 INFO L273 TraceCheckUtils]: 67: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,976 INFO L273 TraceCheckUtils]: 66: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,976 INFO L273 TraceCheckUtils]: 65: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,976 INFO L273 TraceCheckUtils]: 64: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,976 INFO L273 TraceCheckUtils]: 63: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,976 INFO L273 TraceCheckUtils]: 62: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,977 INFO L273 TraceCheckUtils]: 61: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,977 INFO L273 TraceCheckUtils]: 60: Hoare triple {2863#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2863#true} is VALID [2018-11-23 10:22:24,977 INFO L256 TraceCheckUtils]: 59: Hoare triple {2864#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {2863#true} is VALID [2018-11-23 10:22:24,977 INFO L273 TraceCheckUtils]: 58: Hoare triple {2864#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,977 INFO L273 TraceCheckUtils]: 57: Hoare triple {2864#false} assume !~bvslt32(~i~2, 4bv32); {2864#false} is VALID [2018-11-23 10:22:24,977 INFO L273 TraceCheckUtils]: 56: Hoare triple {2864#false} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {2864#false} is VALID [2018-11-23 10:22:24,978 INFO L273 TraceCheckUtils]: 55: Hoare triple {2864#false} assume !!~bvslt32(~i~2, 4bv32);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; {2864#false} is VALID [2018-11-23 10:22:24,978 INFO L273 TraceCheckUtils]: 54: Hoare triple {2864#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; {2864#false} is VALID [2018-11-23 10:22:24,978 INFO L268 TraceCheckUtils]: 53: Hoare quadruple {2863#true} {2864#false} #77#return; {2864#false} is VALID [2018-11-23 10:22:24,978 INFO L273 TraceCheckUtils]: 52: Hoare triple {2863#true} assume true; {2863#true} is VALID [2018-11-23 10:22:24,978 INFO L273 TraceCheckUtils]: 51: Hoare triple {2863#true} #res := ~ret~0[32:0]; {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 50: Hoare triple {2863#true} assume !~bvslt32(~i~0, 5bv32); {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 49: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 48: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 47: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 46: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,979 INFO L273 TraceCheckUtils]: 45: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,980 INFO L273 TraceCheckUtils]: 44: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,980 INFO L273 TraceCheckUtils]: 43: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,980 INFO L273 TraceCheckUtils]: 42: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,980 INFO L273 TraceCheckUtils]: 41: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,980 INFO L273 TraceCheckUtils]: 40: Hoare triple {2863#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {2863#true} is VALID [2018-11-23 10:22:24,981 INFO L273 TraceCheckUtils]: 39: Hoare triple {2863#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {2863#true} is VALID [2018-11-23 10:22:24,981 INFO L273 TraceCheckUtils]: 38: Hoare triple {2863#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {2863#true} is VALID [2018-11-23 10:22:24,981 INFO L273 TraceCheckUtils]: 37: Hoare triple {2863#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {2863#true} is VALID [2018-11-23 10:22:24,981 INFO L256 TraceCheckUtils]: 36: Hoare triple {2864#false} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {2863#true} is VALID [2018-11-23 10:22:24,981 INFO L273 TraceCheckUtils]: 35: Hoare triple {2864#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); {2864#false} is VALID [2018-11-23 10:22:24,981 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {2864#false} {2863#true} #75#return; {2864#false} is VALID [2018-11-23 10:22:24,982 INFO L273 TraceCheckUtils]: 33: Hoare triple {2864#false} assume true; {2864#false} is VALID [2018-11-23 10:22:24,982 INFO L273 TraceCheckUtils]: 32: Hoare triple {2864#false} #res := ~ret~0[32:0]; {2864#false} is VALID [2018-11-23 10:22:24,995 INFO L273 TraceCheckUtils]: 31: Hoare triple {3257#(bvslt sep_~i~0 (_ bv5 32))} assume !~bvslt32(~i~0, 5bv32); {2864#false} is VALID [2018-11-23 10:22:24,997 INFO L273 TraceCheckUtils]: 30: Hoare triple {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3257#(bvslt sep_~i~0 (_ bv5 32))} is VALID [2018-11-23 10:22:24,997 INFO L273 TraceCheckUtils]: 29: Hoare triple {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:24,997 INFO L273 TraceCheckUtils]: 28: Hoare triple {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,001 INFO L273 TraceCheckUtils]: 27: Hoare triple {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3261#(bvslt (bvadd sep_~i~0 (_ bv1 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,001 INFO L273 TraceCheckUtils]: 26: Hoare triple {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,002 INFO L273 TraceCheckUtils]: 25: Hoare triple {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,006 INFO L273 TraceCheckUtils]: 24: Hoare triple {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3271#(bvslt (bvadd sep_~i~0 (_ bv2 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,006 INFO L273 TraceCheckUtils]: 23: Hoare triple {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,006 INFO L273 TraceCheckUtils]: 22: Hoare triple {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,010 INFO L273 TraceCheckUtils]: 21: Hoare triple {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3281#(bvslt (bvadd sep_~i~0 (_ bv3 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,010 INFO L273 TraceCheckUtils]: 20: Hoare triple {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,011 INFO L273 TraceCheckUtils]: 19: Hoare triple {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,012 INFO L273 TraceCheckUtils]: 18: Hoare triple {2863#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3291#(bvslt (bvadd sep_~i~0 (_ bv4 32)) (_ bv5 32))} is VALID [2018-11-23 10:22:25,012 INFO L256 TraceCheckUtils]: 17: Hoare triple {2863#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {2863#true} is VALID [2018-11-23 10:22:25,012 INFO L273 TraceCheckUtils]: 16: Hoare triple {2863#true} assume !~bvslt32(~i~1, 5bv32); {2863#true} is VALID [2018-11-23 10:22:25,012 INFO L273 TraceCheckUtils]: 15: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 14: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 13: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 12: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 11: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 10: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 9: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 8: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:25,013 INFO L273 TraceCheckUtils]: 7: Hoare triple {2863#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L273 TraceCheckUtils]: 6: Hoare triple {2863#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L273 TraceCheckUtils]: 5: Hoare triple {2863#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L256 TraceCheckUtils]: 4: Hoare triple {2863#true} call #t~ret14 := main(); {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2863#true} {2863#true} #71#return; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {2863#true} assume true; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L273 TraceCheckUtils]: 1: Hoare triple {2863#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {2863#true} is VALID [2018-11-23 10:22:25,014 INFO L256 TraceCheckUtils]: 0: Hoare triple {2863#true} call ULTIMATE.init(); {2863#true} is VALID [2018-11-23 10:22:25,018 INFO L134 CoverageAnalysis]: Checked inductivity of 275 backedges. 0 proven. 142 refuted. 0 times theorem prover too weak. 133 trivial. 0 not checked. [2018-11-23 10:22:25,023 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:25,023 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2018-11-23 10:22:25,024 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 80 [2018-11-23 10:22:25,025 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:25,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-23 10:22:25,151 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:25,151 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-23 10:22:25,152 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-23 10:22:25,152 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:22:25,152 INFO L87 Difference]: Start difference. First operand 47 states and 55 transitions. Second operand 12 states. [2018-11-23 10:22:26,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:26,491 INFO L93 Difference]: Finished difference Result 81 states and 101 transitions. [2018-11-23 10:22:26,491 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 10:22:26,491 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 80 [2018-11-23 10:22:26,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:26,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:22:26,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2018-11-23 10:22:26,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-23 10:22:26,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2018-11-23 10:22:26,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 77 transitions. [2018-11-23 10:22:26,618 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:22:26,620 INFO L225 Difference]: With dead ends: 81 [2018-11-23 10:22:26,620 INFO L226 Difference]: Without dead ends: 52 [2018-11-23 10:22:26,621 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2018-11-23 10:22:26,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-23 10:22:26,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2018-11-23 10:22:26,662 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:26,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 50 states. [2018-11-23 10:22:26,662 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 50 states. [2018-11-23 10:22:26,663 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 50 states. [2018-11-23 10:22:26,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:26,665 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-23 10:22:26,665 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2018-11-23 10:22:26,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:26,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:26,666 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 52 states. [2018-11-23 10:22:26,666 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 52 states. [2018-11-23 10:22:26,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:26,668 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-23 10:22:26,668 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2018-11-23 10:22:26,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:26,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:26,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:26,669 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:26,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 10:22:26,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 59 transitions. [2018-11-23 10:22:26,671 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 59 transitions. Word has length 80 [2018-11-23 10:22:26,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:26,672 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 59 transitions. [2018-11-23 10:22:26,672 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-23 10:22:26,672 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2018-11-23 10:22:26,673 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2018-11-23 10:22:26,673 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:26,673 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 5, 5, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:22:26,673 INFO L423 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:26,674 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:26,674 INFO L82 PathProgramCache]: Analyzing trace with hash -1974198409, now seen corresponding path program 2 times [2018-11-23 10:22:26,674 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:26,674 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:22:26,699 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:22:26,934 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:22:26,934 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:22:27,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:27,026 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:27,215 INFO L256 TraceCheckUtils]: 0: Hoare triple {3643#true} call ULTIMATE.init(); {3643#true} is VALID [2018-11-23 10:22:27,215 INFO L273 TraceCheckUtils]: 1: Hoare triple {3643#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3643#true} is VALID [2018-11-23 10:22:27,215 INFO L273 TraceCheckUtils]: 2: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,215 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3643#true} {3643#true} #71#return; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L256 TraceCheckUtils]: 4: Hoare triple {3643#true} call #t~ret14 := main(); {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 5: Hoare triple {3643#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 6: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 7: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 8: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 9: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,216 INFO L273 TraceCheckUtils]: 10: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,217 INFO L273 TraceCheckUtils]: 11: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,217 INFO L273 TraceCheckUtils]: 12: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,217 INFO L273 TraceCheckUtils]: 13: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,217 INFO L273 TraceCheckUtils]: 14: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,217 INFO L273 TraceCheckUtils]: 15: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L273 TraceCheckUtils]: 16: Hoare triple {3643#true} assume !~bvslt32(~i~1, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L256 TraceCheckUtils]: 17: Hoare triple {3643#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L273 TraceCheckUtils]: 18: Hoare triple {3643#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L273 TraceCheckUtils]: 19: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L273 TraceCheckUtils]: 20: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,218 INFO L273 TraceCheckUtils]: 21: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,219 INFO L273 TraceCheckUtils]: 22: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,219 INFO L273 TraceCheckUtils]: 23: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,219 INFO L273 TraceCheckUtils]: 24: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,219 INFO L273 TraceCheckUtils]: 25: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,219 INFO L273 TraceCheckUtils]: 26: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 27: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 28: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 29: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 30: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 31: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,220 INFO L273 TraceCheckUtils]: 32: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,221 INFO L273 TraceCheckUtils]: 33: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,221 INFO L273 TraceCheckUtils]: 34: Hoare triple {3643#true} assume !~bvslt32(~i~0, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,221 INFO L273 TraceCheckUtils]: 35: Hoare triple {3643#true} #res := ~ret~0[32:0]; {3643#true} is VALID [2018-11-23 10:22:27,221 INFO L273 TraceCheckUtils]: 36: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,221 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3643#true} {3643#true} #75#return; {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L273 TraceCheckUtils]: 38: Hoare triple {3643#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); {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L256 TraceCheckUtils]: 39: Hoare triple {3643#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L273 TraceCheckUtils]: 40: Hoare triple {3643#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L273 TraceCheckUtils]: 41: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L273 TraceCheckUtils]: 42: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,222 INFO L273 TraceCheckUtils]: 43: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,223 INFO L273 TraceCheckUtils]: 44: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,223 INFO L273 TraceCheckUtils]: 45: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,223 INFO L273 TraceCheckUtils]: 46: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,223 INFO L273 TraceCheckUtils]: 47: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,223 INFO L273 TraceCheckUtils]: 48: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 49: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 50: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 51: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 52: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 53: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,224 INFO L273 TraceCheckUtils]: 54: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,225 INFO L273 TraceCheckUtils]: 55: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,225 INFO L273 TraceCheckUtils]: 56: Hoare triple {3643#true} assume !~bvslt32(~i~0, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,225 INFO L273 TraceCheckUtils]: 57: Hoare triple {3643#true} #res := ~ret~0[32:0]; {3643#true} is VALID [2018-11-23 10:22:27,225 INFO L273 TraceCheckUtils]: 58: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,225 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {3643#true} {3643#true} #77#return; {3643#true} is VALID [2018-11-23 10:22:27,229 INFO L273 TraceCheckUtils]: 60: Hoare triple {3643#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; {3828#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:22:27,229 INFO L273 TraceCheckUtils]: 61: Hoare triple {3828#(= main_~i~2 (_ bv0 32))} assume !!~bvslt32(~i~2, 4bv32);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; {3828#(= main_~i~2 (_ bv0 32))} is VALID [2018-11-23 10:22:27,231 INFO L273 TraceCheckUtils]: 62: Hoare triple {3828#(= main_~i~2 (_ bv0 32))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {3835#(= (_ bv1 32) main_~i~2)} is VALID [2018-11-23 10:22:27,231 INFO L273 TraceCheckUtils]: 63: Hoare triple {3835#(= (_ bv1 32) main_~i~2)} assume !~bvslt32(~i~2, 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,231 INFO L273 TraceCheckUtils]: 64: Hoare triple {3644#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,231 INFO L256 TraceCheckUtils]: 65: Hoare triple {3644#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 66: Hoare triple {3644#false} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 67: Hoare triple {3644#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 68: Hoare triple {3644#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 69: Hoare triple {3644#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 70: Hoare triple {3644#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 71: Hoare triple {3644#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 72: Hoare triple {3644#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3644#false} is VALID [2018-11-23 10:22:27,232 INFO L273 TraceCheckUtils]: 73: Hoare triple {3644#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 74: Hoare triple {3644#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 75: Hoare triple {3644#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 76: Hoare triple {3644#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 77: Hoare triple {3644#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 78: Hoare triple {3644#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 79: Hoare triple {3644#false} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,233 INFO L273 TraceCheckUtils]: 80: Hoare triple {3644#false} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3644#false} is VALID [2018-11-23 10:22:27,234 INFO L273 TraceCheckUtils]: 81: Hoare triple {3644#false} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3644#false} is VALID [2018-11-23 10:22:27,234 INFO L273 TraceCheckUtils]: 82: Hoare triple {3644#false} assume !~bvslt32(~i~0, 5bv32); {3644#false} is VALID [2018-11-23 10:22:27,234 INFO L273 TraceCheckUtils]: 83: Hoare triple {3644#false} #res := ~ret~0[32:0]; {3644#false} is VALID [2018-11-23 10:22:27,234 INFO L273 TraceCheckUtils]: 84: Hoare triple {3644#false} assume true; {3644#false} is VALID [2018-11-23 10:22:27,234 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {3644#false} {3644#false} #79#return; {3644#false} is VALID [2018-11-23 10:22:27,235 INFO L273 TraceCheckUtils]: 86: Hoare triple {3644#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {3644#false} is VALID [2018-11-23 10:22:27,235 INFO L273 TraceCheckUtils]: 87: Hoare triple {3644#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3644#false} is VALID [2018-11-23 10:22:27,235 INFO L273 TraceCheckUtils]: 88: Hoare triple {3644#false} assume !false; {3644#false} is VALID [2018-11-23 10:22:27,239 INFO L134 CoverageAnalysis]: Checked inductivity of 401 backedges. 180 proven. 1 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2018-11-23 10:22:27,239 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:27,385 INFO L273 TraceCheckUtils]: 88: Hoare triple {3644#false} assume !false; {3644#false} is VALID [2018-11-23 10:22:27,385 INFO L273 TraceCheckUtils]: 87: Hoare triple {3644#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {3644#false} is VALID [2018-11-23 10:22:27,385 INFO L273 TraceCheckUtils]: 86: Hoare triple {3644#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {3644#false} is VALID [2018-11-23 10:22:27,386 INFO L268 TraceCheckUtils]: 85: Hoare quadruple {3643#true} {3644#false} #79#return; {3644#false} is VALID [2018-11-23 10:22:27,386 INFO L273 TraceCheckUtils]: 84: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,386 INFO L273 TraceCheckUtils]: 83: Hoare triple {3643#true} #res := ~ret~0[32:0]; {3643#true} is VALID [2018-11-23 10:22:27,386 INFO L273 TraceCheckUtils]: 82: Hoare triple {3643#true} assume !~bvslt32(~i~0, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,386 INFO L273 TraceCheckUtils]: 81: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,386 INFO L273 TraceCheckUtils]: 80: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 79: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 78: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 77: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 76: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 75: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 74: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,387 INFO L273 TraceCheckUtils]: 73: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 72: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 71: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 70: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 69: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 68: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,388 INFO L273 TraceCheckUtils]: 67: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,389 INFO L273 TraceCheckUtils]: 66: Hoare triple {3643#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,389 INFO L256 TraceCheckUtils]: 65: Hoare triple {3644#false} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {3643#true} is VALID [2018-11-23 10:22:27,389 INFO L273 TraceCheckUtils]: 64: Hoare triple {3644#false} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,389 INFO L273 TraceCheckUtils]: 63: Hoare triple {3989#(bvslt main_~i~2 (_ bv4 32))} assume !~bvslt32(~i~2, 4bv32); {3644#false} is VALID [2018-11-23 10:22:27,390 INFO L273 TraceCheckUtils]: 62: Hoare triple {3993#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv4 32))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {3989#(bvslt main_~i~2 (_ bv4 32))} is VALID [2018-11-23 10:22:27,390 INFO L273 TraceCheckUtils]: 61: Hoare triple {3993#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv4 32))} assume !!~bvslt32(~i~2, 4bv32);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; {3993#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv4 32))} is VALID [2018-11-23 10:22:27,391 INFO L273 TraceCheckUtils]: 60: Hoare triple {3643#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; {3993#(bvslt (bvadd main_~i~2 (_ bv1 32)) (_ bv4 32))} is VALID [2018-11-23 10:22:27,391 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {3643#true} {3643#true} #77#return; {3643#true} is VALID [2018-11-23 10:22:27,391 INFO L273 TraceCheckUtils]: 58: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,391 INFO L273 TraceCheckUtils]: 57: Hoare triple {3643#true} #res := ~ret~0[32:0]; {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 56: Hoare triple {3643#true} assume !~bvslt32(~i~0, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 55: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 54: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 53: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 52: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,392 INFO L273 TraceCheckUtils]: 51: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 50: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 49: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 48: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 47: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 46: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 45: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,393 INFO L273 TraceCheckUtils]: 44: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L273 TraceCheckUtils]: 43: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L273 TraceCheckUtils]: 42: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L273 TraceCheckUtils]: 41: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L273 TraceCheckUtils]: 40: Hoare triple {3643#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L256 TraceCheckUtils]: 39: Hoare triple {3643#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {3643#true} is VALID [2018-11-23 10:22:27,394 INFO L273 TraceCheckUtils]: 38: Hoare triple {3643#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); {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3643#true} {3643#true} #75#return; {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L273 TraceCheckUtils]: 36: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L273 TraceCheckUtils]: 35: Hoare triple {3643#true} #res := ~ret~0[32:0]; {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L273 TraceCheckUtils]: 34: Hoare triple {3643#true} assume !~bvslt32(~i~0, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L273 TraceCheckUtils]: 33: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,395 INFO L273 TraceCheckUtils]: 32: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 31: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 30: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 29: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 28: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 27: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 26: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,396 INFO L273 TraceCheckUtils]: 25: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 24: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 23: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 22: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 21: Hoare triple {3643#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 20: Hoare triple {3643#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {3643#true} is VALID [2018-11-23 10:22:27,397 INFO L273 TraceCheckUtils]: 19: Hoare triple {3643#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 18: Hoare triple {3643#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L256 TraceCheckUtils]: 17: Hoare triple {3643#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 16: Hoare triple {3643#true} assume !~bvslt32(~i~1, 5bv32); {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 15: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 14: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 13: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,398 INFO L273 TraceCheckUtils]: 12: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,399 INFO L273 TraceCheckUtils]: 11: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,399 INFO L273 TraceCheckUtils]: 10: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,399 INFO L273 TraceCheckUtils]: 9: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,399 INFO L273 TraceCheckUtils]: 8: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,400 INFO L273 TraceCheckUtils]: 7: Hoare triple {3643#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {3643#true} is VALID [2018-11-23 10:22:27,400 INFO L273 TraceCheckUtils]: 6: Hoare triple {3643#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {3643#true} is VALID [2018-11-23 10:22:27,400 INFO L273 TraceCheckUtils]: 5: Hoare triple {3643#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {3643#true} is VALID [2018-11-23 10:22:27,400 INFO L256 TraceCheckUtils]: 4: Hoare triple {3643#true} call #t~ret14 := main(); {3643#true} is VALID [2018-11-23 10:22:27,400 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3643#true} {3643#true} #71#return; {3643#true} is VALID [2018-11-23 10:22:27,401 INFO L273 TraceCheckUtils]: 2: Hoare triple {3643#true} assume true; {3643#true} is VALID [2018-11-23 10:22:27,401 INFO L273 TraceCheckUtils]: 1: Hoare triple {3643#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {3643#true} is VALID [2018-11-23 10:22:27,401 INFO L256 TraceCheckUtils]: 0: Hoare triple {3643#true} call ULTIMATE.init(); {3643#true} is VALID [2018-11-23 10:22:27,406 INFO L134 CoverageAnalysis]: Checked inductivity of 401 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 400 trivial. 0 not checked. [2018-11-23 10:22:27,411 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:27,412 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2018-11-23 10:22:27,412 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 89 [2018-11-23 10:22:27,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:27,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 10:22:27,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:27,553 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 10:22:27,553 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 10:22:27,553 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-11-23 10:22:27,553 INFO L87 Difference]: Start difference. First operand 50 states and 59 transitions. Second operand 6 states. [2018-11-23 10:22:27,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:27,934 INFO L93 Difference]: Finished difference Result 82 states and 99 transitions. [2018-11-23 10:22:27,934 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 10:22:27,934 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 89 [2018-11-23 10:22:27,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:27,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:27,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-11-23 10:22:27,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 10:22:27,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-11-23 10:22:27,937 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-11-23 10:22:28,007 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:22:28,009 INFO L225 Difference]: With dead ends: 82 [2018-11-23 10:22:28,009 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 10:22:28,010 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 173 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:22:28,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 10:22:28,038 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2018-11-23 10:22:28,039 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:28,039 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 56 states. [2018-11-23 10:22:28,039 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 56 states. [2018-11-23 10:22:28,039 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 56 states. [2018-11-23 10:22:28,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:28,042 INFO L93 Difference]: Finished difference Result 56 states and 65 transitions. [2018-11-23 10:22:28,043 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2018-11-23 10:22:28,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:28,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:28,043 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 56 states. [2018-11-23 10:22:28,043 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 56 states. [2018-11-23 10:22:28,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:28,046 INFO L93 Difference]: Finished difference Result 56 states and 65 transitions. [2018-11-23 10:22:28,046 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2018-11-23 10:22:28,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:28,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:28,047 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:28,047 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:28,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-23 10:22:28,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2018-11-23 10:22:28,050 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 89 [2018-11-23 10:22:28,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:28,050 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2018-11-23 10:22:28,050 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 10:22:28,050 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2018-11-23 10:22:28,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2018-11-23 10:22:28,052 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:28,052 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 15, 5, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:22:28,052 INFO L423 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:28,052 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:28,052 INFO L82 PathProgramCache]: Analyzing trace with hash 1590918909, now seen corresponding path program 3 times [2018-11-23 10:22:28,053 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:28,053 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:22:28,073 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 10:22:32,567 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 12 check-sat command(s) [2018-11-23 10:22:32,567 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:22:32,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:32,685 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:33,487 INFO L256 TraceCheckUtils]: 0: Hoare triple {4492#true} call ULTIMATE.init(); {4492#true} is VALID [2018-11-23 10:22:33,487 INFO L273 TraceCheckUtils]: 1: Hoare triple {4492#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4492#true} is VALID [2018-11-23 10:22:33,487 INFO L273 TraceCheckUtils]: 2: Hoare triple {4492#true} assume true; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4492#true} {4492#true} #71#return; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L256 TraceCheckUtils]: 4: Hoare triple {4492#true} call #t~ret14 := main(); {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L273 TraceCheckUtils]: 5: Hoare triple {4492#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L273 TraceCheckUtils]: 6: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L273 TraceCheckUtils]: 7: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L273 TraceCheckUtils]: 8: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:33,488 INFO L273 TraceCheckUtils]: 9: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 10: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 11: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 12: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 13: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 14: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:33,489 INFO L273 TraceCheckUtils]: 15: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:33,490 INFO L273 TraceCheckUtils]: 16: Hoare triple {4492#true} assume !~bvslt32(~i~1, 5bv32); {4492#true} is VALID [2018-11-23 10:22:33,490 INFO L256 TraceCheckUtils]: 17: Hoare triple {4492#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:33,510 INFO L273 TraceCheckUtils]: 18: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,523 INFO L273 TraceCheckUtils]: 19: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,524 INFO L273 TraceCheckUtils]: 20: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,525 INFO L273 TraceCheckUtils]: 21: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,525 INFO L273 TraceCheckUtils]: 22: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,525 INFO L273 TraceCheckUtils]: 23: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,526 INFO L273 TraceCheckUtils]: 24: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,526 INFO L273 TraceCheckUtils]: 25: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,527 INFO L273 TraceCheckUtils]: 26: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,537 INFO L273 TraceCheckUtils]: 27: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,537 INFO L273 TraceCheckUtils]: 28: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,538 INFO L273 TraceCheckUtils]: 29: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,539 INFO L273 TraceCheckUtils]: 30: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,539 INFO L273 TraceCheckUtils]: 31: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,539 INFO L273 TraceCheckUtils]: 32: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,540 INFO L273 TraceCheckUtils]: 33: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,540 INFO L273 TraceCheckUtils]: 34: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} assume !~bvslt32(~i~0, 5bv32); {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,541 INFO L273 TraceCheckUtils]: 35: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,542 INFO L273 TraceCheckUtils]: 36: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,543 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4492#true} #75#return; {4615#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret6|)} is VALID [2018-11-23 10:22:33,544 INFO L273 TraceCheckUtils]: 38: Hoare triple {4615#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret6|)} ~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); {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} is VALID [2018-11-23 10:22:33,545 INFO L256 TraceCheckUtils]: 39: Hoare triple {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:33,545 INFO L273 TraceCheckUtils]: 40: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,546 INFO L273 TraceCheckUtils]: 41: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,547 INFO L273 TraceCheckUtils]: 42: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,548 INFO L273 TraceCheckUtils]: 43: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,548 INFO L273 TraceCheckUtils]: 44: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,549 INFO L273 TraceCheckUtils]: 45: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,550 INFO L273 TraceCheckUtils]: 46: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,550 INFO L273 TraceCheckUtils]: 47: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,568 INFO L273 TraceCheckUtils]: 48: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,581 INFO L273 TraceCheckUtils]: 49: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,582 INFO L273 TraceCheckUtils]: 50: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,583 INFO L273 TraceCheckUtils]: 51: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,583 INFO L273 TraceCheckUtils]: 52: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,583 INFO L273 TraceCheckUtils]: 53: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,584 INFO L273 TraceCheckUtils]: 54: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,584 INFO L273 TraceCheckUtils]: 55: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,585 INFO L273 TraceCheckUtils]: 56: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} assume !~bvslt32(~i~0, 5bv32); {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,586 INFO L273 TraceCheckUtils]: 57: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,586 INFO L273 TraceCheckUtils]: 58: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,588 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} #77#return; {4683#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret9|))} is VALID [2018-11-23 10:22:33,589 INFO L273 TraceCheckUtils]: 60: Hoare triple {4683#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret9|))} ~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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,601 INFO L273 TraceCheckUtils]: 61: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,602 INFO L273 TraceCheckUtils]: 62: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,603 INFO L273 TraceCheckUtils]: 63: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,603 INFO L273 TraceCheckUtils]: 64: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,604 INFO L273 TraceCheckUtils]: 65: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,604 INFO L273 TraceCheckUtils]: 66: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,605 INFO L273 TraceCheckUtils]: 67: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,606 INFO L273 TraceCheckUtils]: 68: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,607 INFO L273 TraceCheckUtils]: 69: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !~bvslt32(~i~2, 4bv32); {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,608 INFO L273 TraceCheckUtils]: 70: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:33,608 INFO L256 TraceCheckUtils]: 71: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:33,609 INFO L273 TraceCheckUtils]: 72: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,609 INFO L273 TraceCheckUtils]: 73: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,611 INFO L273 TraceCheckUtils]: 74: Hoare triple {4551#(= ((_ sign_extend 32) (_ bv0 32)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,611 INFO L273 TraceCheckUtils]: 75: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,612 INFO L273 TraceCheckUtils]: 76: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,613 INFO L273 TraceCheckUtils]: 77: Hoare triple {4558#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv1 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,613 INFO L273 TraceCheckUtils]: 78: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,614 INFO L273 TraceCheckUtils]: 79: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,615 INFO L273 TraceCheckUtils]: 80: Hoare triple {4568#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv2 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,615 INFO L273 TraceCheckUtils]: 81: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,616 INFO L273 TraceCheckUtils]: 82: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,617 INFO L273 TraceCheckUtils]: 83: Hoare triple {4578#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv3 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,618 INFO L273 TraceCheckUtils]: 84: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,618 INFO L273 TraceCheckUtils]: 85: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,619 INFO L273 TraceCheckUtils]: 86: Hoare triple {4588#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv4 64)) sep_~ret~0)} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,620 INFO L273 TraceCheckUtils]: 87: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,620 INFO L273 TraceCheckUtils]: 88: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} assume !~bvslt32(~i~0, 5bv32); {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} is VALID [2018-11-23 10:22:33,621 INFO L273 TraceCheckUtils]: 89: Hoare triple {4598#(= (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64)) sep_~ret~0)} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,622 INFO L273 TraceCheckUtils]: 90: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:33,623 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #79#return; {4781#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret13|))} is VALID [2018-11-23 10:22:33,624 INFO L273 TraceCheckUtils]: 92: Hoare triple {4781#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret13|))} ~ret5~0 := #t~ret13;havoc #t~ret13; {4785#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret5~0))} is VALID [2018-11-23 10:22:33,625 INFO L273 TraceCheckUtils]: 93: Hoare triple {4785#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret5~0))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4493#false} is VALID [2018-11-23 10:22:33,625 INFO L273 TraceCheckUtils]: 94: Hoare triple {4493#false} assume !false; {4493#false} is VALID [2018-11-23 10:22:33,644 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 0 proven. 315 refuted. 0 times theorem prover too weak. 101 trivial. 0 not checked. [2018-11-23 10:22:33,644 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:33,893 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-11-23 10:22:34,705 INFO L273 TraceCheckUtils]: 94: Hoare triple {4493#false} assume !false; {4493#false} is VALID [2018-11-23 10:22:34,706 INFO L273 TraceCheckUtils]: 93: Hoare triple {4795#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {4493#false} is VALID [2018-11-23 10:22:34,706 INFO L273 TraceCheckUtils]: 92: Hoare triple {4799#(and (= |main_#t~ret13| main_~ret~1) (= main_~ret2~0 main_~ret~1))} ~ret5~0 := #t~ret13;havoc #t~ret13; {4795#(and (= main_~ret5~0 main_~ret~1) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-23 10:22:34,708 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #79#return; {4799#(and (= |main_#t~ret13| main_~ret~1) (= main_~ret2~0 main_~ret~1))} is VALID [2018-11-23 10:22:34,709 INFO L273 TraceCheckUtils]: 90: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,709 INFO L273 TraceCheckUtils]: 89: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,710 INFO L273 TraceCheckUtils]: 88: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} assume !~bvslt32(~i~0, 5bv32); {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,710 INFO L273 TraceCheckUtils]: 87: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,713 INFO L273 TraceCheckUtils]: 86: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,726 INFO L273 TraceCheckUtils]: 85: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,727 INFO L273 TraceCheckUtils]: 84: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,730 INFO L273 TraceCheckUtils]: 83: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,730 INFO L273 TraceCheckUtils]: 82: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,730 INFO L273 TraceCheckUtils]: 81: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,733 INFO L273 TraceCheckUtils]: 80: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,733 INFO L273 TraceCheckUtils]: 79: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,734 INFO L273 TraceCheckUtils]: 78: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,737 INFO L273 TraceCheckUtils]: 77: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,738 INFO L273 TraceCheckUtils]: 76: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,738 INFO L273 TraceCheckUtils]: 75: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,741 INFO L273 TraceCheckUtils]: 74: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,741 INFO L273 TraceCheckUtils]: 73: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,742 INFO L273 TraceCheckUtils]: 72: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,742 INFO L256 TraceCheckUtils]: 71: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:34,742 INFO L273 TraceCheckUtils]: 70: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,743 INFO L273 TraceCheckUtils]: 69: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !~bvslt32(~i~2, 4bv32); {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,743 INFO L273 TraceCheckUtils]: 68: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,744 INFO L273 TraceCheckUtils]: 67: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,744 INFO L273 TraceCheckUtils]: 66: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,745 INFO L273 TraceCheckUtils]: 65: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,745 INFO L273 TraceCheckUtils]: 64: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,746 INFO L273 TraceCheckUtils]: 63: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,747 INFO L273 TraceCheckUtils]: 62: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,747 INFO L273 TraceCheckUtils]: 61: Hoare triple {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} assume !!~bvslt32(~i~2, 4bv32);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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,748 INFO L273 TraceCheckUtils]: 60: Hoare triple {4683#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret9|))} ~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; {4687#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret2~0))} is VALID [2018-11-23 10:22:34,750 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} #77#return; {4683#(and (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1) (= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret9|))} is VALID [2018-11-23 10:22:34,750 INFO L273 TraceCheckUtils]: 58: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,751 INFO L273 TraceCheckUtils]: 57: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,752 INFO L273 TraceCheckUtils]: 56: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} assume !~bvslt32(~i~0, 5bv32); {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,752 INFO L273 TraceCheckUtils]: 55: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,756 INFO L273 TraceCheckUtils]: 54: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,757 INFO L273 TraceCheckUtils]: 53: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,757 INFO L273 TraceCheckUtils]: 52: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,760 INFO L273 TraceCheckUtils]: 51: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,761 INFO L273 TraceCheckUtils]: 50: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,761 INFO L273 TraceCheckUtils]: 49: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,764 INFO L273 TraceCheckUtils]: 48: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,765 INFO L273 TraceCheckUtils]: 47: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,765 INFO L273 TraceCheckUtils]: 46: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,768 INFO L273 TraceCheckUtils]: 45: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,769 INFO L273 TraceCheckUtils]: 44: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,769 INFO L273 TraceCheckUtils]: 43: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,772 INFO L273 TraceCheckUtils]: 42: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,772 INFO L273 TraceCheckUtils]: 41: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,773 INFO L273 TraceCheckUtils]: 40: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,773 INFO L256 TraceCheckUtils]: 39: Hoare triple {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:34,774 INFO L273 TraceCheckUtils]: 38: Hoare triple {4615#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret6|)} ~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); {4619#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) main_~ret~1)} is VALID [2018-11-23 10:22:34,775 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} {4492#true} #75#return; {4615#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |main_#t~ret6|)} is VALID [2018-11-23 10:22:34,776 INFO L273 TraceCheckUtils]: 36: Hoare triple {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} assume true; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,776 INFO L273 TraceCheckUtils]: 35: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #res := ~ret~0[32:0]; {4608#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) |sep_#res|)} is VALID [2018-11-23 10:22:34,776 INFO L273 TraceCheckUtils]: 34: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} assume !~bvslt32(~i~0, 5bv32); {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,777 INFO L273 TraceCheckUtils]: 33: Hoare triple {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,781 INFO L273 TraceCheckUtils]: 32: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4812#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) sep_~ret~0))} is VALID [2018-11-23 10:22:34,782 INFO L273 TraceCheckUtils]: 31: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,782 INFO L273 TraceCheckUtils]: 30: Hoare triple {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,785 INFO L273 TraceCheckUtils]: 29: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4822#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv1 64))))} is VALID [2018-11-23 10:22:34,785 INFO L273 TraceCheckUtils]: 28: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,785 INFO L273 TraceCheckUtils]: 27: Hoare triple {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,788 INFO L273 TraceCheckUtils]: 26: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4832#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv2 64))))} is VALID [2018-11-23 10:22:34,789 INFO L273 TraceCheckUtils]: 25: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,789 INFO L273 TraceCheckUtils]: 24: Hoare triple {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,794 INFO L273 TraceCheckUtils]: 23: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4842#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv3 64))))} is VALID [2018-11-23 10:22:34,794 INFO L273 TraceCheckUtils]: 22: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,795 INFO L273 TraceCheckUtils]: 21: Hoare triple {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,798 INFO L273 TraceCheckUtils]: 20: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {4852#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv4 64))))} is VALID [2018-11-23 10:22:34,798 INFO L273 TraceCheckUtils]: 19: Hoare triple {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,799 INFO L273 TraceCheckUtils]: 18: Hoare triple {4492#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {4862#(= ((_ extract 31 0) (bvadd ((_ sign_extend 32) (_ bv0 32)) (_ bv5 64))) ((_ extract 31 0) (bvadd sep_~ret~0 (_ bv5 64))))} is VALID [2018-11-23 10:22:34,799 INFO L256 TraceCheckUtils]: 17: Hoare triple {4492#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 16: Hoare triple {4492#true} assume !~bvslt32(~i~1, 5bv32); {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 15: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 14: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 13: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 12: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 11: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:34,800 INFO L273 TraceCheckUtils]: 10: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L273 TraceCheckUtils]: 9: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L273 TraceCheckUtils]: 8: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L273 TraceCheckUtils]: 7: Hoare triple {4492#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L273 TraceCheckUtils]: 6: Hoare triple {4492#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L273 TraceCheckUtils]: 5: Hoare triple {4492#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {4492#true} is VALID [2018-11-23 10:22:34,801 INFO L256 TraceCheckUtils]: 4: Hoare triple {4492#true} call #t~ret14 := main(); {4492#true} is VALID [2018-11-23 10:22:34,802 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4492#true} {4492#true} #71#return; {4492#true} is VALID [2018-11-23 10:22:34,802 INFO L273 TraceCheckUtils]: 2: Hoare triple {4492#true} assume true; {4492#true} is VALID [2018-11-23 10:22:34,802 INFO L273 TraceCheckUtils]: 1: Hoare triple {4492#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {4492#true} is VALID [2018-11-23 10:22:34,802 INFO L256 TraceCheckUtils]: 0: Hoare triple {4492#true} call ULTIMATE.init(); {4492#true} is VALID [2018-11-23 10:22:34,826 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 0 proven. 315 refuted. 0 times theorem prover too weak. 101 trivial. 0 not checked. [2018-11-23 10:22:34,830 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:22:34,830 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 23 [2018-11-23 10:22:34,831 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 95 [2018-11-23 10:22:34,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:22:34,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-23 10:22:34,958 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:22:34,959 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-23 10:22:34,959 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-23 10:22:34,959 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=449, Unknown=0, NotChecked=0, Total=506 [2018-11-23 10:22:34,959 INFO L87 Difference]: Start difference. First operand 56 states and 65 transitions. Second operand 23 states. [2018-11-23 10:22:40,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:40,134 INFO L93 Difference]: Finished difference Result 151 states and 209 transitions. [2018-11-23 10:22:40,135 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 10:22:40,135 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 95 [2018-11-23 10:22:40,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:22:40,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:22:40,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2018-11-23 10:22:40,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 10:22:40,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 136 transitions. [2018-11-23 10:22:40,143 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 136 transitions. [2018-11-23 10:22:40,402 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 10:22:40,409 INFO L225 Difference]: With dead ends: 151 [2018-11-23 10:22:40,409 INFO L226 Difference]: Without dead ends: 147 [2018-11-23 10:22:40,410 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 190 GetRequests, 167 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=62, Invalid=490, Unknown=0, NotChecked=0, Total=552 [2018-11-23 10:22:40,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 147 states. [2018-11-23 10:22:40,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 147 to 112. [2018-11-23 10:22:40,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:22:40,520 INFO L82 GeneralOperation]: Start isEquivalent. First operand 147 states. Second operand 112 states. [2018-11-23 10:22:40,520 INFO L74 IsIncluded]: Start isIncluded. First operand 147 states. Second operand 112 states. [2018-11-23 10:22:40,520 INFO L87 Difference]: Start difference. First operand 147 states. Second operand 112 states. [2018-11-23 10:22:40,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:40,527 INFO L93 Difference]: Finished difference Result 147 states and 205 transitions. [2018-11-23 10:22:40,527 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 205 transitions. [2018-11-23 10:22:40,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:40,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:40,529 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 147 states. [2018-11-23 10:22:40,529 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 147 states. [2018-11-23 10:22:40,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:22:40,536 INFO L93 Difference]: Finished difference Result 147 states and 205 transitions. [2018-11-23 10:22:40,536 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 205 transitions. [2018-11-23 10:22:40,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:22:40,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:22:40,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:22:40,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:22:40,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2018-11-23 10:22:40,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 144 transitions. [2018-11-23 10:22:40,542 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 144 transitions. Word has length 95 [2018-11-23 10:22:40,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:22:40,543 INFO L480 AbstractCegarLoop]: Abstraction has 112 states and 144 transitions. [2018-11-23 10:22:40,543 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-23 10:22:40,543 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 144 transitions. [2018-11-23 10:22:40,544 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2018-11-23 10:22:40,545 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:22:40,545 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 14, 5, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:22:40,545 INFO L423 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:22:40,545 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:22:40,546 INFO L82 PathProgramCache]: Analyzing trace with hash -2023990017, now seen corresponding path program 1 times [2018-11-23 10:22:40,546 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:22:40,546 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:22:40,576 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 10:22:40,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:40,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:22:40,984 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:22:41,094 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 17 [2018-11-23 10:22:41,099 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:22:41,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 26 [2018-11-23 10:22:41,125 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:22:41,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 23 [2018-11-23 10:22:41,138 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,147 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,150 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,160 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,161 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:26, output treesize:3 [2018-11-23 10:22:41,172 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:22:41,173 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, main_~temp~0]. (and (= (store |v_#memory_int_36| |main_~#x~0.base| (let ((.cse1 (bvadd |main_~#x~0.offset| (_ bv4 32)))) (store (let ((.cse0 (select |v_#memory_int_36| |main_~#x~0.base|))) (store .cse0 |main_~#x~0.offset| (select .cse0 .cse1))) .cse1 main_~temp~0))) |#memory_int|) (= |main_~#x~0.offset| (_ bv0 32))) [2018-11-23 10:22:41,173 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_~#x~0.offset| (_ bv0 32)) [2018-11-23 10:22:41,416 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 13 [2018-11-23 10:22:41,421 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 5 [2018-11-23 10:22:41,422 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,424 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,431 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,432 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:9 [2018-11-23 10:22:41,436 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:22:41,436 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|]. (let ((.cse0 (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|))) (and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvsrem .cse0 (_ bv2 32)) (_ bv0 32)) (= main_~temp~0 .cse0))) [2018-11-23 10:22:41,436 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))) [2018-11-23 10:22:41,487 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 10:22:41,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 10:22:41,495 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,500 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,512 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:22:41,513 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:22, output treesize:15 [2018-11-23 10:22:41,518 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:22:41,519 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, main_~temp~0]. (and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)) (= (store |v_#memory_int_37| |main_~#x~0.base| (store (select |v_#memory_int_37| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32)) main_~temp~0)) |#memory_int|)) [2018-11-23 10:22:41,519 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)))) [2018-11-23 10:22:42,377 INFO L256 TraceCheckUtils]: 0: Hoare triple {5741#true} call ULTIMATE.init(); {5741#true} is VALID [2018-11-23 10:22:42,377 INFO L273 TraceCheckUtils]: 1: Hoare triple {5741#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5741#true} is VALID [2018-11-23 10:22:42,377 INFO L273 TraceCheckUtils]: 2: Hoare triple {5741#true} assume true; {5741#true} is VALID [2018-11-23 10:22:42,377 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5741#true} {5741#true} #71#return; {5741#true} is VALID [2018-11-23 10:22:42,377 INFO L256 TraceCheckUtils]: 4: Hoare triple {5741#true} call #t~ret14 := main(); {5741#true} is VALID [2018-11-23 10:22:42,378 INFO L273 TraceCheckUtils]: 5: Hoare triple {5741#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,379 INFO L273 TraceCheckUtils]: 6: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,380 INFO L273 TraceCheckUtils]: 7: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,381 INFO L273 TraceCheckUtils]: 8: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,381 INFO L273 TraceCheckUtils]: 9: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,382 INFO L273 TraceCheckUtils]: 10: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,382 INFO L273 TraceCheckUtils]: 11: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,382 INFO L273 TraceCheckUtils]: 12: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,382 INFO L273 TraceCheckUtils]: 13: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,383 INFO L273 TraceCheckUtils]: 14: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,383 INFO L273 TraceCheckUtils]: 15: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,387 INFO L273 TraceCheckUtils]: 16: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} assume !~bvslt32(~i~1, 5bv32); {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,387 INFO L256 TraceCheckUtils]: 17: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5741#true} is VALID [2018-11-23 10:22:42,387 INFO L273 TraceCheckUtils]: 18: Hoare triple {5741#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5741#true} is VALID [2018-11-23 10:22:42,387 INFO L273 TraceCheckUtils]: 19: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:22:42,387 INFO L273 TraceCheckUtils]: 20: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:22:42,387 INFO L273 TraceCheckUtils]: 21: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 22: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 23: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 24: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 25: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 26: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 27: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 28: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:22:42,388 INFO L273 TraceCheckUtils]: 29: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 30: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 31: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 32: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 33: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 34: Hoare triple {5741#true} assume !~bvslt32(~i~0, 5bv32); {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 35: Hoare triple {5741#true} #res := ~ret~0[32:0]; {5741#true} is VALID [2018-11-23 10:22:42,389 INFO L273 TraceCheckUtils]: 36: Hoare triple {5741#true} assume true; {5741#true} is VALID [2018-11-23 10:22:42,391 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5741#true} {5761#(= |main_~#x~0.offset| (_ bv0 32))} #75#return; {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,391 INFO L273 TraceCheckUtils]: 38: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} ~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); {5761#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:22:42,391 INFO L256 TraceCheckUtils]: 39: Hoare triple {5761#(= |main_~#x~0.offset| (_ bv0 32))} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5741#true} is VALID [2018-11-23 10:22:42,392 INFO L273 TraceCheckUtils]: 40: Hoare triple {5741#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5867#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,392 INFO L273 TraceCheckUtils]: 41: Hoare triple {5867#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5871#(= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,393 INFO L273 TraceCheckUtils]: 42: Hoare triple {5871#(= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,393 INFO L273 TraceCheckUtils]: 43: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,394 INFO L273 TraceCheckUtils]: 44: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,394 INFO L273 TraceCheckUtils]: 45: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,394 INFO L273 TraceCheckUtils]: 46: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,395 INFO L273 TraceCheckUtils]: 47: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,395 INFO L273 TraceCheckUtils]: 48: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,396 INFO L273 TraceCheckUtils]: 49: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,398 INFO L273 TraceCheckUtils]: 50: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,398 INFO L273 TraceCheckUtils]: 51: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,399 INFO L273 TraceCheckUtils]: 52: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,399 INFO L273 TraceCheckUtils]: 53: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,400 INFO L273 TraceCheckUtils]: 54: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,400 INFO L273 TraceCheckUtils]: 55: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,404 INFO L273 TraceCheckUtils]: 56: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !~bvslt32(~i~0, 5bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,404 INFO L273 TraceCheckUtils]: 57: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #res := ~ret~0[32:0]; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,405 INFO L273 TraceCheckUtils]: 58: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume true; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:22:42,407 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} {5761#(= |main_~#x~0.offset| (_ bv0 32))} #77#return; {5927#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvsrem (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:22:42,408 INFO L273 TraceCheckUtils]: 60: Hoare triple {5927#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvsrem (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (_ bv2 32)) (_ bv0 32)))} ~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; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,409 INFO L273 TraceCheckUtils]: 61: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,410 INFO L273 TraceCheckUtils]: 62: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,411 INFO L273 TraceCheckUtils]: 63: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,411 INFO L273 TraceCheckUtils]: 64: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,412 INFO L273 TraceCheckUtils]: 65: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,413 INFO L273 TraceCheckUtils]: 66: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,415 INFO L273 TraceCheckUtils]: 67: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,415 INFO L273 TraceCheckUtils]: 68: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,416 INFO L273 TraceCheckUtils]: 69: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} assume !~bvslt32(~i~2, 4bv32); {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:22:42,418 INFO L273 TraceCheckUtils]: 70: Hoare triple {5931#(and (= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {5962#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:42,420 INFO L256 TraceCheckUtils]: 71: Hoare triple {5962#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5966#(exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:22:42,424 INFO L273 TraceCheckUtils]: 72: Hoare triple {5966#(exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,425 INFO L273 TraceCheckUtils]: 73: Hoare triple {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,425 INFO L273 TraceCheckUtils]: 74: Hoare triple {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,426 INFO L273 TraceCheckUtils]: 75: Hoare triple {5970#(and (= (_ bv0 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,427 INFO L273 TraceCheckUtils]: 76: Hoare triple {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,428 INFO L273 TraceCheckUtils]: 77: Hoare triple {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,429 INFO L273 TraceCheckUtils]: 78: Hoare triple {5980#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,430 INFO L273 TraceCheckUtils]: 79: Hoare triple {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,431 INFO L273 TraceCheckUtils]: 80: Hoare triple {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,432 INFO L273 TraceCheckUtils]: 81: Hoare triple {5990#(and (= (_ bv2 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,433 INFO L273 TraceCheckUtils]: 82: Hoare triple {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,434 INFO L273 TraceCheckUtils]: 83: Hoare triple {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,435 INFO L273 TraceCheckUtils]: 84: Hoare triple {6000#(and (= (_ bv3 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6010#(and (= (_ bv4 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:22:42,437 INFO L273 TraceCheckUtils]: 85: Hoare triple {6010#(and (= (_ bv4 32) sep_~i~0) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6014#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32)))))} is VALID [2018-11-23 10:22:42,439 INFO L273 TraceCheckUtils]: 86: Hoare triple {6014#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32)))))} assume !(0bv32 == ~bvsrem32(#t~mem1, 2bv32));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := ~bvsub64(#t~post3, 1bv64);havoc #t~post3; {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:22:42,440 INFO L273 TraceCheckUtils]: 87: Hoare triple {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:22:42,445 INFO L273 TraceCheckUtils]: 88: Hoare triple {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} assume !~bvslt32(~i~0, 5bv32); {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:22:42,446 INFO L273 TraceCheckUtils]: 89: Hoare triple {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} #res := ~ret~0[32:0]; {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:22:42,447 INFO L273 TraceCheckUtils]: 90: Hoare triple {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} assume true; {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:22:42,449 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {6018#(and (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_1|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))))} {5962#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #79#return; {5742#false} is VALID [2018-11-23 10:22:42,449 INFO L273 TraceCheckUtils]: 92: Hoare triple {5742#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {5742#false} is VALID [2018-11-23 10:22:42,449 INFO L273 TraceCheckUtils]: 93: Hoare triple {5742#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5742#false} is VALID [2018-11-23 10:22:42,449 INFO L273 TraceCheckUtils]: 94: Hoare triple {5742#false} assume !false; {5742#false} is VALID [2018-11-23 10:22:42,467 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 181 proven. 132 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2018-11-23 10:22:42,467 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:22:52,012 INFO L273 TraceCheckUtils]: 94: Hoare triple {5742#false} assume !false; {5742#false} is VALID [2018-11-23 10:22:52,013 INFO L273 TraceCheckUtils]: 93: Hoare triple {5742#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {5742#false} is VALID [2018-11-23 10:22:52,013 INFO L273 TraceCheckUtils]: 92: Hoare triple {5742#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {5742#false} is VALID [2018-11-23 10:22:52,015 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} {6052#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)))} #79#return; {5742#false} is VALID [2018-11-23 10:22:52,016 INFO L273 TraceCheckUtils]: 90: Hoare triple {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} assume true; {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:52,016 INFO L273 TraceCheckUtils]: 89: Hoare triple {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} #res := ~ret~0[32:0]; {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:52,017 INFO L273 TraceCheckUtils]: 88: Hoare triple {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} assume !~bvslt32(~i~0, 5bv32); {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:52,017 INFO L273 TraceCheckUtils]: 87: Hoare triple {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:52,018 INFO L273 TraceCheckUtils]: 86: Hoare triple {6072#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32))))} assume !(0bv32 == ~bvsrem32(#t~mem1, 2bv32));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := ~bvsub64(#t~post3, 1bv64);havoc #t~post3; {6056#(not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:52,019 INFO L273 TraceCheckUtils]: 85: Hoare triple {6076#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6072#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32))))} is VALID [2018-11-23 10:22:54,025 INFO L273 TraceCheckUtils]: 84: Hoare triple {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6076#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32))))} is UNKNOWN [2018-11-23 10:22:54,025 INFO L273 TraceCheckUtils]: 83: Hoare triple {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:22:54,026 INFO L273 TraceCheckUtils]: 82: Hoare triple {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:22:56,030 INFO L273 TraceCheckUtils]: 81: Hoare triple {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6080#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:22:56,031 INFO L273 TraceCheckUtils]: 80: Hoare triple {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:22:56,031 INFO L273 TraceCheckUtils]: 79: Hoare triple {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:22:58,039 INFO L273 TraceCheckUtils]: 78: Hoare triple {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6090#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:22:58,040 INFO L273 TraceCheckUtils]: 77: Hoare triple {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is VALID [2018-11-23 10:22:58,040 INFO L273 TraceCheckUtils]: 76: Hoare triple {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is VALID [2018-11-23 10:23:00,053 INFO L273 TraceCheckUtils]: 75: Hoare triple {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {6100#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is UNKNOWN [2018-11-23 10:23:00,054 INFO L273 TraceCheckUtils]: 74: Hoare triple {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:23:00,054 INFO L273 TraceCheckUtils]: 73: Hoare triple {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:23:00,054 INFO L273 TraceCheckUtils]: 72: Hoare triple {5741#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {6110#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:23:00,055 INFO L256 TraceCheckUtils]: 71: Hoare triple {6052#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {5741#true} is VALID [2018-11-23 10:23:00,056 INFO L273 TraceCheckUtils]: 70: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {6052#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:23:00,056 INFO L273 TraceCheckUtils]: 69: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} assume !~bvslt32(~i~2, 4bv32); {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,057 INFO L273 TraceCheckUtils]: 68: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,057 INFO L273 TraceCheckUtils]: 67: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,057 INFO L273 TraceCheckUtils]: 66: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,057 INFO L273 TraceCheckUtils]: 65: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,058 INFO L273 TraceCheckUtils]: 64: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,058 INFO L273 TraceCheckUtils]: 63: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,059 INFO L273 TraceCheckUtils]: 62: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,059 INFO L273 TraceCheckUtils]: 61: Hoare triple {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,060 INFO L273 TraceCheckUtils]: 60: Hoare triple {6154#(= (bvsrem (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (_ bv2 32)) (_ bv0 32))} ~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; {6123#(= (_ bv0 32) (bvsrem main_~temp~0 (_ bv2 32)))} is VALID [2018-11-23 10:23:00,063 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} {5741#true} #77#return; {6154#(= (bvsrem (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,063 INFO L273 TraceCheckUtils]: 58: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume true; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,064 INFO L273 TraceCheckUtils]: 57: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #res := ~ret~0[32:0]; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,064 INFO L273 TraceCheckUtils]: 56: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !~bvslt32(~i~0, 5bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,065 INFO L273 TraceCheckUtils]: 55: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,065 INFO L273 TraceCheckUtils]: 54: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,066 INFO L273 TraceCheckUtils]: 53: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,067 INFO L273 TraceCheckUtils]: 52: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,067 INFO L273 TraceCheckUtils]: 51: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,068 INFO L273 TraceCheckUtils]: 50: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,068 INFO L273 TraceCheckUtils]: 49: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,069 INFO L273 TraceCheckUtils]: 48: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,069 INFO L273 TraceCheckUtils]: 47: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,070 INFO L273 TraceCheckUtils]: 46: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,070 INFO L273 TraceCheckUtils]: 45: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,071 INFO L273 TraceCheckUtils]: 44: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,071 INFO L273 TraceCheckUtils]: 43: Hoare triple {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,072 INFO L273 TraceCheckUtils]: 42: Hoare triple {6212#(or (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32)) (not (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5875#(= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:23:00,073 INFO L273 TraceCheckUtils]: 41: Hoare triple {6216#(or (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32)) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {6212#(or (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32)) (not (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32)))))} is VALID [2018-11-23 10:23:00,074 INFO L273 TraceCheckUtils]: 40: Hoare triple {5741#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {6216#(or (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) |sep_#in~x.offset|) (_ bv2 32)) (_ bv0 32)) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32)))))} is VALID [2018-11-23 10:23:00,074 INFO L256 TraceCheckUtils]: 39: Hoare triple {5741#true} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {5741#true} is VALID [2018-11-23 10:23:00,074 INFO L273 TraceCheckUtils]: 38: Hoare triple {5741#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); {5741#true} is VALID [2018-11-23 10:23:00,075 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5741#true} {5741#true} #75#return; {5741#true} is VALID [2018-11-23 10:23:00,075 INFO L273 TraceCheckUtils]: 36: Hoare triple {5741#true} assume true; {5741#true} is VALID [2018-11-23 10:23:00,075 INFO L273 TraceCheckUtils]: 35: Hoare triple {5741#true} #res := ~ret~0[32:0]; {5741#true} is VALID [2018-11-23 10:23:00,075 INFO L273 TraceCheckUtils]: 34: Hoare triple {5741#true} assume !~bvslt32(~i~0, 5bv32); {5741#true} is VALID [2018-11-23 10:23:00,075 INFO L273 TraceCheckUtils]: 33: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:23:00,076 INFO L273 TraceCheckUtils]: 32: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:23:00,076 INFO L273 TraceCheckUtils]: 31: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:23:00,076 INFO L273 TraceCheckUtils]: 30: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:23:00,076 INFO L273 TraceCheckUtils]: 29: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:23:00,076 INFO L273 TraceCheckUtils]: 28: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:23:00,077 INFO L273 TraceCheckUtils]: 27: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:23:00,077 INFO L273 TraceCheckUtils]: 26: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:23:00,077 INFO L273 TraceCheckUtils]: 25: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:23:00,077 INFO L273 TraceCheckUtils]: 24: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:23:00,077 INFO L273 TraceCheckUtils]: 23: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:23:00,078 INFO L273 TraceCheckUtils]: 22: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:23:00,078 INFO L273 TraceCheckUtils]: 21: Hoare triple {5741#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {5741#true} is VALID [2018-11-23 10:23:00,078 INFO L273 TraceCheckUtils]: 20: Hoare triple {5741#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {5741#true} is VALID [2018-11-23 10:23:00,078 INFO L273 TraceCheckUtils]: 19: Hoare triple {5741#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {5741#true} is VALID [2018-11-23 10:23:00,078 INFO L273 TraceCheckUtils]: 18: Hoare triple {5741#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L256 TraceCheckUtils]: 17: Hoare triple {5741#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 16: Hoare triple {5741#true} assume !~bvslt32(~i~1, 5bv32); {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 15: Hoare triple {5741#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 14: Hoare triple {5741#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 13: Hoare triple {5741#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 12: Hoare triple {5741#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5741#true} is VALID [2018-11-23 10:23:00,079 INFO L273 TraceCheckUtils]: 11: Hoare triple {5741#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 10: Hoare triple {5741#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 9: Hoare triple {5741#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 8: Hoare triple {5741#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 7: Hoare triple {5741#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 6: Hoare triple {5741#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L273 TraceCheckUtils]: 5: Hoare triple {5741#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L256 TraceCheckUtils]: 4: Hoare triple {5741#true} call #t~ret14 := main(); {5741#true} is VALID [2018-11-23 10:23:00,080 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5741#true} {5741#true} #71#return; {5741#true} is VALID [2018-11-23 10:23:00,081 INFO L273 TraceCheckUtils]: 2: Hoare triple {5741#true} assume true; {5741#true} is VALID [2018-11-23 10:23:00,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {5741#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {5741#true} is VALID [2018-11-23 10:23:00,081 INFO L256 TraceCheckUtils]: 0: Hoare triple {5741#true} call ULTIMATE.init(); {5741#true} is VALID [2018-11-23 10:23:00,096 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 196 proven. 115 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2018-11-23 10:23:00,100 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:23:00,100 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15] total 29 [2018-11-23 10:23:00,101 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 95 [2018-11-23 10:23:00,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:23:00,102 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 10:23:08,496 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 93 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2018-11-23 10:23:08,496 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 10:23:08,496 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 10:23:08,497 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=717, Unknown=0, NotChecked=0, Total=812 [2018-11-23 10:23:08,498 INFO L87 Difference]: Start difference. First operand 112 states and 144 transitions. Second operand 29 states. [2018-11-23 10:23:15,532 WARN L180 SmtUtils]: Spent 2.04 s on a formula simplification. DAG size of input: 30 DAG size of output: 16 [2018-11-23 10:23:29,894 WARN L180 SmtUtils]: Spent 118.00 ms on a formula simplification that was a NOOP. DAG size: 23 [2018-11-23 10:23:32,831 WARN L180 SmtUtils]: Spent 2.33 s on a formula simplification. DAG size of input: 36 DAG size of output: 23 [2018-11-23 10:23:38,047 WARN L180 SmtUtils]: Spent 2.11 s on a formula simplification. DAG size of input: 37 DAG size of output: 26 [2018-11-23 10:23:38,841 WARN L180 SmtUtils]: Spent 126.00 ms on a formula simplification that was a NOOP. DAG size: 22 [2018-11-23 10:23:43,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:23:43,298 INFO L93 Difference]: Finished difference Result 318 states and 439 transitions. [2018-11-23 10:23:43,298 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2018-11-23 10:23:43,298 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 95 [2018-11-23 10:23:43,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 10:23:43,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:23:43,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 198 transitions. [2018-11-23 10:23:43,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 10:23:43,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 198 transitions. [2018-11-23 10:23:43,306 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 43 states and 198 transitions. [2018-11-23 10:24:00,053 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 190 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2018-11-23 10:24:00,067 INFO L225 Difference]: With dead ends: 318 [2018-11-23 10:24:00,068 INFO L226 Difference]: Without dead ends: 277 [2018-11-23 10:24:00,069 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 171 SyntacticMatches, 0 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 617 ImplicationChecksByTransitivity, 10.9s TimeCoverageRelationStatistics Valid=350, Invalid=2406, Unknown=0, NotChecked=0, Total=2756 [2018-11-23 10:24:00,070 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 277 states. [2018-11-23 10:24:00,426 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 277 to 201. [2018-11-23 10:24:00,426 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 10:24:00,426 INFO L82 GeneralOperation]: Start isEquivalent. First operand 277 states. Second operand 201 states. [2018-11-23 10:24:00,426 INFO L74 IsIncluded]: Start isIncluded. First operand 277 states. Second operand 201 states. [2018-11-23 10:24:00,427 INFO L87 Difference]: Start difference. First operand 277 states. Second operand 201 states. [2018-11-23 10:24:00,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:24:00,439 INFO L93 Difference]: Finished difference Result 277 states and 376 transitions. [2018-11-23 10:24:00,439 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 376 transitions. [2018-11-23 10:24:00,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:24:00,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:24:00,441 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand 277 states. [2018-11-23 10:24:00,441 INFO L87 Difference]: Start difference. First operand 201 states. Second operand 277 states. [2018-11-23 10:24:00,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 10:24:00,452 INFO L93 Difference]: Finished difference Result 277 states and 376 transitions. [2018-11-23 10:24:00,452 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 376 transitions. [2018-11-23 10:24:00,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 10:24:00,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 10:24:00,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 10:24:00,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 10:24:00,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 201 states. [2018-11-23 10:24:00,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 201 states to 201 states and 263 transitions. [2018-11-23 10:24:00,461 INFO L78 Accepts]: Start accepts. Automaton has 201 states and 263 transitions. Word has length 95 [2018-11-23 10:24:00,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 10:24:00,462 INFO L480 AbstractCegarLoop]: Abstraction has 201 states and 263 transitions. [2018-11-23 10:24:00,462 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 10:24:00,462 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 263 transitions. [2018-11-23 10:24:00,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2018-11-23 10:24:00,464 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 10:24:00,464 INFO L402 BasicCegarLoop]: trace histogram [15, 15, 14, 5, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 10:24:00,464 INFO L423 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 10:24:00,465 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 10:24:00,465 INFO L82 PathProgramCache]: Analyzing trace with hash 1849084347, now seen corresponding path program 2 times [2018-11-23 10:24:00,465 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 10:24:00,465 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:24:00,494 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 10:24:01,127 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 10:24:01,127 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 10:24:01,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 10:24:01,351 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 10:24:01,449 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-23 10:24:01,454 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 9 [2018-11-23 10:24:01,455 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:01,458 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:01,468 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:01,468 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:17, output treesize:3 [2018-11-23 10:24:01,479 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:01,479 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, |v_main_#t~nondet5_8|]. (and (= |main_~#x~0.offset| (_ bv0 32)) (= (store |v_#memory_int_47| |main_~#x~0.base| (store (select |v_#memory_int_47| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32)) |v_main_#t~nondet5_8|)) |#memory_int|)) [2018-11-23 10:24:01,479 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_~#x~0.offset| (_ bv0 32)) [2018-11-23 10:24:01,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 27 [2018-11-23 10:24:01,985 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:01,987 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:01,989 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:01,996 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 49 [2018-11-23 10:24:02,013 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:02,016 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:02,017 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:02,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 48 [2018-11-23 10:24:02,039 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:02,058 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:02,068 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:02,085 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:02,085 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 2 variables, input treesize:37, output treesize:15 [2018-11-23 10:24:02,112 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:02,112 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_48|, main_~temp~0]. (let ((.cse0 (select |v_#memory_int_48| |main_~#x~0.base|))) (and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvsrem (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32)) (= (store |v_#memory_int_48| |main_~#x~0.base| (let ((.cse1 (bvadd |main_~#x~0.offset| (_ bv4 32)))) (store (store .cse0 |main_~#x~0.offset| (select .cse0 .cse1)) .cse1 main_~temp~0))) |#memory_int|))) [2018-11-23 10:24:02,112 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)))) [2018-11-23 10:24:03,027 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 29 [2018-11-23 10:24:03,034 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,035 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,036 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,043 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 66 [2018-11-23 10:24:03,046 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,061 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,087 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,088 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:42, output treesize:38 [2018-11-23 10:24:03,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 49 treesize of output 38 [2018-11-23 10:24:03,387 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,389 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,391 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,393 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,395 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,398 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,400 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,401 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,402 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:24:03,429 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 117 [2018-11-23 10:24:03,448 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,473 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,498 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:03,499 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:55, output treesize:38 [2018-11-23 10:24:03,560 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:03,561 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|]. (let ((.cse0 (select |v_#memory_int_50| |main_~#x~0.base|))) (and (= (select .cse0 (bvadd |main_~#x~0.offset| (_ bv4 32))) (select .cse0 |main_~#x~0.offset|)) (= (store |v_#memory_int_50| |main_~#x~0.base| (let ((.cse1 (bvmul (_ bv4 32) main_~i~2))) (store .cse0 (bvadd |main_~#x~0.offset| .cse1) (select .cse0 (bvadd |main_~#x~0.offset| .cse1 (_ bv4 32)))))) |#memory_int|) (= |main_~#x~0.offset| (_ bv0 32)) (= (bvsrem (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32)) (= (_ bv1 32) main_~i~2))) [2018-11-23 10:24:03,561 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#x~0.base|))) (and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv1 32) main_~i~2) (let ((.cse1 (bvmul (_ bv4 32) main_~i~2))) (= (select .cse0 (bvadd |main_~#x~0.offset| .cse1)) (select .cse0 (bvadd |main_~#x~0.offset| .cse1 (_ bv4 32))))) (= (_ bv0 32) (bvsrem (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))) [2018-11-23 10:24:03,905 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 40 [2018-11-23 10:24:03,937 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,939 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,940 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,943 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,945 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,947 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,949 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,951 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:03,951 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 10:24:03,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 140 [2018-11-23 10:24:03,979 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,031 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,032 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:57, output treesize:38 [2018-11-23 10:24:04,106 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:04,106 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|]. (let ((.cse0 (select |v_#memory_int_51| |main_~#x~0.base|))) (and (= (select .cse0 (bvadd |main_~#x~0.offset| (_ bv4 32))) (select .cse0 (bvadd |main_~#x~0.offset| (_ bv8 32)))) (= (_ bv0 32) (bvsrem (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)) (= (store |v_#memory_int_51| |main_~#x~0.base| (let ((.cse1 (bvmul (_ bv4 32) main_~i~2))) (store .cse0 (bvadd |main_~#x~0.offset| .cse1) (select .cse0 (bvadd |main_~#x~0.offset| .cse1 (_ bv4 32)))))) |#memory_int|) (= (_ bv2 32) main_~i~2))) [2018-11-23 10:24:04,106 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_int| |main_~#x~0.base|))) (and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~2) (let ((.cse1 (bvmul (_ bv4 32) main_~i~2))) (= (select .cse0 (bvadd |main_~#x~0.offset| .cse1)) (select .cse0 (bvadd |main_~#x~0.offset| .cse1 (_ bv4 32))))) (= (_ bv0 32) (bvsrem (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))) [2018-11-23 10:24:04,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 35 [2018-11-23 10:24:04,488 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:04,489 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:04,490 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:04,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 60 [2018-11-23 10:24:04,510 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,527 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,542 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,542 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:49, output treesize:30 [2018-11-23 10:24:04,567 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:04,567 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_52|]. (let ((.cse0 (select |v_#memory_int_52| |main_~#x~0.base|))) (let ((.cse1 (bvadd |main_~#x~0.offset| (_ bv12 32))) (.cse2 (select .cse0 (bvadd |main_~#x~0.offset| (_ bv16 32))))) (and (= (select .cse0 .cse1) (select .cse0 (bvadd |main_~#x~0.offset| (_ bv8 32)))) (= |#memory_int| (store |v_#memory_int_52| |main_~#x~0.base| (store .cse0 .cse1 .cse2))) (= (bvsrem .cse2 (_ bv2 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32))))) [2018-11-23 10:24:04,567 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse1 (select |#memory_int| |main_~#x~0.base|))) (let ((.cse0 (select .cse1 (bvadd |main_~#x~0.offset| (_ bv16 32))))) (and (= .cse0 (select .cse1 (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem .cse0 (_ bv2 32)))))) [2018-11-23 10:24:04,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 31 [2018-11-23 10:24:04,730 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 10:24:04,738 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 32 [2018-11-23 10:24:04,742 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,754 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,770 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 10:24:04,770 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:43, output treesize:15 [2018-11-23 10:24:04,785 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 10:24:04,785 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_53|, main_~temp~0]. (let ((.cse1 (select |v_#memory_int_53| |main_~#x~0.base|)) (.cse2 (bvadd |main_~#x~0.offset| (_ bv16 32)))) (let ((.cse0 (select .cse1 .cse2))) (and (= (bvsrem .cse0 (_ bv2 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)) (= |#memory_int| (store |v_#memory_int_53| |main_~#x~0.base| (store .cse1 .cse2 main_~temp~0))) (= .cse0 (select .cse1 (bvadd |main_~#x~0.offset| (_ bv12 32))))))) [2018-11-23 10:24:04,785 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32))) [2018-11-23 10:24:05,892 INFO L256 TraceCheckUtils]: 0: Hoare triple {7641#true} call ULTIMATE.init(); {7641#true} is VALID [2018-11-23 10:24:05,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {7641#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7641#true} is VALID [2018-11-23 10:24:05,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {7641#true} assume true; {7641#true} is VALID [2018-11-23 10:24:05,893 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7641#true} {7641#true} #71#return; {7641#true} is VALID [2018-11-23 10:24:05,893 INFO L256 TraceCheckUtils]: 4: Hoare triple {7641#true} call #t~ret14 := main(); {7641#true} is VALID [2018-11-23 10:24:05,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {7641#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {7661#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~1 (_ bv0 32)))} is VALID [2018-11-23 10:24:05,895 INFO L273 TraceCheckUtils]: 6: Hoare triple {7661#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~1 (_ bv0 32)))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7661#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~1 (_ bv0 32)))} is VALID [2018-11-23 10:24:05,895 INFO L273 TraceCheckUtils]: 7: Hoare triple {7661#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~1 (_ bv0 32)))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7668#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,896 INFO L273 TraceCheckUtils]: 8: Hoare triple {7668#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32)))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7668#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {7668#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967295 32)) (_ bv0 32)))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7675#(and (= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:24:05,897 INFO L273 TraceCheckUtils]: 10: Hoare triple {7675#(and (= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7675#(and (= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:24:05,898 INFO L273 TraceCheckUtils]: 11: Hoare triple {7675#(and (= (bvadd main_~i~1 (_ bv4294967294 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7682#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,899 INFO L273 TraceCheckUtils]: 12: Hoare triple {7682#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32)))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7682#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,900 INFO L273 TraceCheckUtils]: 13: Hoare triple {7682#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (bvadd main_~i~1 (_ bv4294967293 32)) (_ bv0 32)))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7689#(and (= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:24:05,901 INFO L273 TraceCheckUtils]: 14: Hoare triple {7689#(and (= (bvadd main_~i~1 (_ bv4294967292 32)) (_ bv0 32)) (= |main_~#x~0.offset| (_ bv0 32)))} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7693#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:24:05,901 INFO L273 TraceCheckUtils]: 15: Hoare triple {7693#(= |main_~#x~0.offset| (_ bv0 32))} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7693#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:24:05,902 INFO L273 TraceCheckUtils]: 16: Hoare triple {7693#(= |main_~#x~0.offset| (_ bv0 32))} assume !~bvslt32(~i~1, 5bv32); {7693#(= |main_~#x~0.offset| (_ bv0 32))} is VALID [2018-11-23 10:24:05,902 INFO L256 TraceCheckUtils]: 17: Hoare triple {7693#(= |main_~#x~0.offset| (_ bv0 32))} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7641#true} is VALID [2018-11-23 10:24:05,903 INFO L273 TraceCheckUtils]: 18: Hoare triple {7641#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,904 INFO L273 TraceCheckUtils]: 19: Hoare triple {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,904 INFO L273 TraceCheckUtils]: 20: Hoare triple {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,905 INFO L273 TraceCheckUtils]: 21: Hoare triple {7706#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,906 INFO L273 TraceCheckUtils]: 22: Hoare triple {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,907 INFO L273 TraceCheckUtils]: 23: Hoare triple {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,908 INFO L273 TraceCheckUtils]: 24: Hoare triple {7716#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,908 INFO L273 TraceCheckUtils]: 25: Hoare triple {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,909 INFO L273 TraceCheckUtils]: 26: Hoare triple {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,910 INFO L273 TraceCheckUtils]: 27: Hoare triple {7726#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,911 INFO L273 TraceCheckUtils]: 28: Hoare triple {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,911 INFO L273 TraceCheckUtils]: 29: Hoare triple {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,912 INFO L273 TraceCheckUtils]: 30: Hoare triple {7736#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7746#(and (= (_ bv4 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,914 INFO L273 TraceCheckUtils]: 31: Hoare triple {7746#(and (= (_ bv4 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7750#(= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))))} is VALID [2018-11-23 10:24:05,915 INFO L273 TraceCheckUtils]: 32: Hoare triple {7750#(= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:05,916 INFO L273 TraceCheckUtils]: 33: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:05,916 INFO L273 TraceCheckUtils]: 34: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} assume !~bvslt32(~i~0, 5bv32); {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:05,917 INFO L273 TraceCheckUtils]: 35: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} #res := ~ret~0[32:0]; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:05,917 INFO L273 TraceCheckUtils]: 36: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} assume true; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:05,920 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} {7693#(= |main_~#x~0.offset| (_ bv0 32))} #75#return; {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,925 INFO L273 TraceCheckUtils]: 38: Hoare triple {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} ~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); {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,926 INFO L256 TraceCheckUtils]: 39: Hoare triple {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,927 INFO L273 TraceCheckUtils]: 40: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,928 INFO L273 TraceCheckUtils]: 41: Hoare triple {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,928 INFO L273 TraceCheckUtils]: 42: Hoare triple {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,929 INFO L273 TraceCheckUtils]: 43: Hoare triple {7781#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,929 INFO L273 TraceCheckUtils]: 44: Hoare triple {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,930 INFO L273 TraceCheckUtils]: 45: Hoare triple {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,930 INFO L273 TraceCheckUtils]: 46: Hoare triple {7791#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,931 INFO L273 TraceCheckUtils]: 47: Hoare triple {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,932 INFO L273 TraceCheckUtils]: 48: Hoare triple {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,933 INFO L273 TraceCheckUtils]: 49: Hoare triple {7801#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,934 INFO L273 TraceCheckUtils]: 50: Hoare triple {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,935 INFO L273 TraceCheckUtils]: 51: Hoare triple {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,936 INFO L273 TraceCheckUtils]: 52: Hoare triple {7811#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7821#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv4 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,936 INFO L273 TraceCheckUtils]: 53: Hoare triple {7821#(and (exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32))) (= (_ bv4 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,937 INFO L273 TraceCheckUtils]: 54: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,938 INFO L273 TraceCheckUtils]: 55: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,938 INFO L273 TraceCheckUtils]: 56: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} assume !~bvslt32(~i~0, 5bv32); {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,939 INFO L273 TraceCheckUtils]: 57: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} #res := ~ret~0[32:0]; {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,939 INFO L273 TraceCheckUtils]: 58: Hoare triple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} assume true; {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:05,940 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {7777#(exists ((|v_main_~#x~0.base_BEFORE_CALL_6| (_ BitVec 32))) (= (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_6|) (_ bv16 32)) (_ bv2 32)) (_ bv0 32)))} {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #77#return; {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,941 INFO L273 TraceCheckUtils]: 60: Hoare triple {7770#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} ~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; {7846#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,945 INFO L273 TraceCheckUtils]: 61: Hoare triple {7846#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~2, 4bv32);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; {7850#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,947 INFO L273 TraceCheckUtils]: 62: Hoare triple {7850#(and (= |main_~#x~0.offset| (_ bv0 32)) (= main_~i~2 (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7854#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (= (_ bv1 32) main_~i~2) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,952 INFO L273 TraceCheckUtils]: 63: Hoare triple {7854#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset|)) (= (_ bv1 32) main_~i~2) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~2, 4bv32);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; {7858#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv1 32) main_~i~2) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,953 INFO L273 TraceCheckUtils]: 64: Hoare triple {7858#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv1 32) main_~i~2) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7862#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (= (_ bv2 32) main_~i~2) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,957 INFO L273 TraceCheckUtils]: 65: Hoare triple {7862#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (= (_ bv2 32) main_~i~2) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~2, 4bv32);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; {7866#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~2) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,958 INFO L273 TraceCheckUtils]: 66: Hoare triple {7866#(and (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv2 32) main_~i~2) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7870#(and (= (_ bv3 32) main_~i~2) (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4294967292 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,962 INFO L273 TraceCheckUtils]: 67: Hoare triple {7870#(and (= (_ bv3 32) main_~i~2) (= |main_~#x~0.offset| (_ bv0 32)) (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4294967292 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~2, 4bv32);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; {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,963 INFO L273 TraceCheckUtils]: 68: Hoare triple {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,963 INFO L273 TraceCheckUtils]: 69: Hoare triple {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} assume !~bvslt32(~i~2, 4bv32); {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,966 INFO L273 TraceCheckUtils]: 70: Hoare triple {7874#(and (= (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (= |main_~#x~0.offset| (_ bv0 32)) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32))))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {7884#(and (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} is VALID [2018-11-23 10:24:05,967 INFO L256 TraceCheckUtils]: 71: Hoare triple {7884#(and (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7888#(exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32))))} is VALID [2018-11-23 10:24:05,968 INFO L273 TraceCheckUtils]: 72: Hoare triple {7888#(exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32))))} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,969 INFO L273 TraceCheckUtils]: 73: Hoare triple {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,969 INFO L273 TraceCheckUtils]: 74: Hoare triple {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,970 INFO L273 TraceCheckUtils]: 75: Hoare triple {7892#(and (= (_ bv0 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,971 INFO L273 TraceCheckUtils]: 76: Hoare triple {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,972 INFO L273 TraceCheckUtils]: 77: Hoare triple {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,973 INFO L273 TraceCheckUtils]: 78: Hoare triple {7902#(and (= (_ bv1 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,974 INFO L273 TraceCheckUtils]: 79: Hoare triple {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,975 INFO L273 TraceCheckUtils]: 80: Hoare triple {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,975 INFO L273 TraceCheckUtils]: 81: Hoare triple {7912#(and (= (_ bv2 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7922#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} is VALID [2018-11-23 10:24:05,978 INFO L273 TraceCheckUtils]: 82: Hoare triple {7922#(and (= (_ bv3 32) sep_~i~0) (= sep_~x.base |sep_#in~x.base|) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))) (= sep_~x.offset |sep_#in~x.offset|))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7926#(and (= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,979 INFO L273 TraceCheckUtils]: 83: Hoare triple {7926#(and (= |sep_#t~mem1| (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32)))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} assume !(0bv32 == ~bvsrem32(#t~mem1, 2bv32));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := ~bvsub64(#t~post3, 1bv64);havoc #t~post3; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,980 INFO L273 TraceCheckUtils]: 84: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,980 INFO L273 TraceCheckUtils]: 85: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,981 INFO L273 TraceCheckUtils]: 86: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,981 INFO L273 TraceCheckUtils]: 87: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,982 INFO L273 TraceCheckUtils]: 88: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} assume !~bvslt32(~i~0, 5bv32); {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,982 INFO L273 TraceCheckUtils]: 89: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} #res := ~ret~0[32:0]; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,983 INFO L273 TraceCheckUtils]: 90: Hoare triple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} assume true; {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} is VALID [2018-11-23 10:24:05,986 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {7930#(and (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (exists ((|v_main_~#x~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |v_main_~#x~0.base_BEFORE_CALL_7|) (_ bv12 32)) (_ bv2 32)))))} {7884#(and (= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32))) (= |main_~#x~0.offset| (_ bv0 32)))} #79#return; {7642#false} is VALID [2018-11-23 10:24:05,986 INFO L273 TraceCheckUtils]: 92: Hoare triple {7642#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {7642#false} is VALID [2018-11-23 10:24:05,986 INFO L273 TraceCheckUtils]: 93: Hoare triple {7642#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7642#false} is VALID [2018-11-23 10:24:05,987 INFO L273 TraceCheckUtils]: 94: Hoare triple {7642#false} assume !false; {7642#false} is VALID [2018-11-23 10:24:06,025 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 25 proven. 389 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 10:24:06,026 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 10:24:24,830 INFO L273 TraceCheckUtils]: 94: Hoare triple {7642#false} assume !false; {7642#false} is VALID [2018-11-23 10:24:24,831 INFO L273 TraceCheckUtils]: 93: Hoare triple {7642#false} assume ~ret~1 != ~ret2~0 || ~ret~1 != ~ret5~0; {7642#false} is VALID [2018-11-23 10:24:24,831 INFO L273 TraceCheckUtils]: 92: Hoare triple {7642#false} ~ret5~0 := #t~ret13;havoc #t~ret13; {7642#false} is VALID [2018-11-23 10:24:24,833 INFO L268 TraceCheckUtils]: 91: Hoare quadruple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} #79#return; {7642#false} is VALID [2018-11-23 10:24:24,834 INFO L273 TraceCheckUtils]: 90: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} assume true; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,834 INFO L273 TraceCheckUtils]: 89: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} #res := ~ret~0[32:0]; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,834 INFO L273 TraceCheckUtils]: 88: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} assume !~bvslt32(~i~0, 5bv32); {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,835 INFO L273 TraceCheckUtils]: 87: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,835 INFO L273 TraceCheckUtils]: 86: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,836 INFO L273 TraceCheckUtils]: 85: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,836 INFO L273 TraceCheckUtils]: 84: Hoare triple {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,837 INFO L273 TraceCheckUtils]: 83: Hoare triple {8002#(or (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume !(0bv32 == ~bvsrem32(#t~mem1, 2bv32));havoc #t~mem1;#t~post3 := ~ret~0;~ret~0 := ~bvsub64(#t~post3, 1bv64);havoc #t~post3; {7977#(not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32)))} is VALID [2018-11-23 10:24:24,838 INFO L273 TraceCheckUtils]: 82: Hoare triple {8006#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8002#(or (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:24:26,848 INFO L273 TraceCheckUtils]: 81: Hoare triple {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8006#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is UNKNOWN [2018-11-23 10:24:26,849 INFO L273 TraceCheckUtils]: 80: Hoare triple {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:24:26,850 INFO L273 TraceCheckUtils]: 79: Hoare triple {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:24:28,866 INFO L273 TraceCheckUtils]: 78: Hoare triple {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8010#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is UNKNOWN [2018-11-23 10:24:28,867 INFO L273 TraceCheckUtils]: 77: Hoare triple {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:24:28,867 INFO L273 TraceCheckUtils]: 76: Hoare triple {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is VALID [2018-11-23 10:24:30,892 INFO L273 TraceCheckUtils]: 75: Hoare triple {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8020#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32))) (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))))} is UNKNOWN [2018-11-23 10:24:30,893 INFO L273 TraceCheckUtils]: 74: Hoare triple {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:30,893 INFO L273 TraceCheckUtils]: 73: Hoare triple {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:30,894 INFO L273 TraceCheckUtils]: 72: Hoare triple {7641#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {8030#(or (not (= (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv12 32))) (_ bv2 32)) (_ bv0 32))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:30,894 INFO L256 TraceCheckUtils]: 71: Hoare triple {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} call #t~ret13 := sep(~#x~0.base, ~#x~0.offset); {7641#true} is VALID [2018-11-23 10:24:30,896 INFO L273 TraceCheckUtils]: 70: Hoare triple {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} call write~intINTTYPE4(~temp~0, ~#x~0.base, ~bvadd32(16bv32, ~#x~0.offset), 4bv32); {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:30,896 INFO L273 TraceCheckUtils]: 69: Hoare triple {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} assume !~bvslt32(~i~2, 4bv32); {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:30,896 INFO L273 TraceCheckUtils]: 68: Hoare triple {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:30,920 INFO L273 TraceCheckUtils]: 67: Hoare triple {8052#(= (_ bv0 32) (bvsrem (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {7973#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:32,935 INFO L273 TraceCheckUtils]: 66: Hoare triple {8056#(= (_ bv0 32) (bvsrem (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {8052#(= (_ bv0 32) (bvsrem (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is UNKNOWN [2018-11-23 10:24:32,976 INFO L273 TraceCheckUtils]: 65: Hoare triple {8060#(= (_ bv0 32) (bvsrem (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {8056#(= (_ bv0 32) (bvsrem (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:34,980 INFO L273 TraceCheckUtils]: 64: Hoare triple {8064#(= (_ bv0 32) (bvsrem (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {8060#(= (_ bv0 32) (bvsrem (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is UNKNOWN [2018-11-23 10:24:35,027 INFO L273 TraceCheckUtils]: 63: Hoare triple {8068#(= (_ bv0 32) (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {8064#(= (_ bv0 32) (bvsrem (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,031 INFO L273 TraceCheckUtils]: 62: Hoare triple {8072#(= (_ bv0 32) (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv16 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} #t~post11 := ~i~2;~i~2 := ~bvadd32(1bv32, #t~post11);havoc #t~post11; {8068#(= (_ bv0 32) (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is UNKNOWN [2018-11-23 10:24:37,112 INFO L273 TraceCheckUtils]: 61: Hoare triple {8076#(= (_ bv0 32) (bvsrem (select (store (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)) (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv16 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} assume !!~bvslt32(~i~2, 4bv32);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; {8072#(= (_ bv0 32) (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv16 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,113 INFO L273 TraceCheckUtils]: 60: Hoare triple {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} ~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; {8076#(= (_ bv0 32) (bvsrem (select (store (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)) (select (store (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2)) (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv4 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv8 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv12 32)))) (bvadd |main_~#x~0.offset| (bvmul (_ bv4 32) main_~i~2) (_ bv16 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,114 INFO L268 TraceCheckUtils]: 59: Hoare quadruple {7641#true} {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} #77#return; {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:24:37,114 INFO L273 TraceCheckUtils]: 58: Hoare triple {7641#true} assume true; {7641#true} is VALID [2018-11-23 10:24:37,114 INFO L273 TraceCheckUtils]: 57: Hoare triple {7641#true} #res := ~ret~0[32:0]; {7641#true} is VALID [2018-11-23 10:24:37,114 INFO L273 TraceCheckUtils]: 56: Hoare triple {7641#true} assume !~bvslt32(~i~0, 5bv32); {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 55: Hoare triple {7641#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 54: Hoare triple {7641#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 53: Hoare triple {7641#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 52: Hoare triple {7641#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 51: Hoare triple {7641#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 50: Hoare triple {7641#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 49: Hoare triple {7641#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7641#true} is VALID [2018-11-23 10:24:37,115 INFO L273 TraceCheckUtils]: 48: Hoare triple {7641#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 47: Hoare triple {7641#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 46: Hoare triple {7641#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 45: Hoare triple {7641#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 44: Hoare triple {7641#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 43: Hoare triple {7641#true} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 42: Hoare triple {7641#true} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 41: Hoare triple {7641#true} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L273 TraceCheckUtils]: 40: Hoare triple {7641#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {7641#true} is VALID [2018-11-23 10:24:37,116 INFO L256 TraceCheckUtils]: 39: Hoare triple {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} call #t~ret9 := sep(~#x~0.base, ~#x~0.offset); {7641#true} is VALID [2018-11-23 10:24:37,119 INFO L273 TraceCheckUtils]: 38: Hoare triple {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} ~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); {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:24:37,120 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} {7641#true} #75#return; {8080#(= (bvsrem (select (store (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)) (select (store (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv4 32)) (select (store (select |#memory_int| |main_~#x~0.base|) |main_~#x~0.offset| (select (select |#memory_int| |main_~#x~0.base|) (bvadd |main_~#x~0.offset| (_ bv4 32)))) (bvadd |main_~#x~0.offset| (_ bv8 32)))) (bvadd |main_~#x~0.offset| (_ bv12 32)))) (bvadd |main_~#x~0.offset| (_ bv16 32))) (_ bv2 32)) (_ bv0 32))} is VALID [2018-11-23 10:24:37,121 INFO L273 TraceCheckUtils]: 36: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} assume true; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,121 INFO L273 TraceCheckUtils]: 35: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} #res := ~ret~0[32:0]; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,122 INFO L273 TraceCheckUtils]: 34: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} assume !~bvslt32(~i~0, 5bv32); {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,122 INFO L273 TraceCheckUtils]: 33: Hoare triple {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,122 INFO L273 TraceCheckUtils]: 32: Hoare triple {8168#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {7754#(= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32)))} is VALID [2018-11-23 10:24:37,123 INFO L273 TraceCheckUtils]: 31: Hoare triple {8172#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8168#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem |sep_#t~mem1| (_ bv2 32)))))} is VALID [2018-11-23 10:24:39,136 INFO L273 TraceCheckUtils]: 30: Hoare triple {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8172#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:24:39,137 INFO L273 TraceCheckUtils]: 29: Hoare triple {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:39,137 INFO L273 TraceCheckUtils]: 28: Hoare triple {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:41,161 INFO L273 TraceCheckUtils]: 27: Hoare triple {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8176#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv4 32))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:24:41,162 INFO L273 TraceCheckUtils]: 26: Hoare triple {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:41,162 INFO L273 TraceCheckUtils]: 25: Hoare triple {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:43,174 INFO L273 TraceCheckUtils]: 24: Hoare triple {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8186#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv8 32))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:24:43,174 INFO L273 TraceCheckUtils]: 23: Hoare triple {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:43,175 INFO L273 TraceCheckUtils]: 22: Hoare triple {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} is VALID [2018-11-23 10:24:45,192 INFO L273 TraceCheckUtils]: 21: Hoare triple {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} #t~post0 := ~i~0;~i~0 := ~bvadd32(1bv32, #t~post0);havoc #t~post0; {8196#(or (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))) (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv12 32))) (_ bv2 32)))))} is UNKNOWN [2018-11-23 10:24:45,193 INFO L273 TraceCheckUtils]: 20: Hoare triple {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} assume 0bv32 == ~bvsrem32(#t~mem1, 2bv32);havoc #t~mem1;#t~post2 := ~ret~0;~ret~0 := ~bvadd64(1bv64, #t~post2);havoc #t~post2; {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:45,193 INFO L273 TraceCheckUtils]: 19: Hoare triple {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} assume !!~bvslt32(~i~0, 5bv32);call #t~mem1 := read~intINTTYPE4(~x.base, ~bvadd32(~x.offset, ~bvmul32(4bv32, ~i~0)), 4bv32); {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:45,194 INFO L273 TraceCheckUtils]: 18: Hoare triple {7641#true} ~x.base, ~x.offset := #in~x.base, #in~x.offset;~ret~0 := ~sign_extendFrom32To64(0bv32);~i~0 := 0bv32; {8206#(or (not (= (_ bv0 32) (bvsrem (select (select |#memory_int| sep_~x.base) (bvadd sep_~x.offset (bvmul (_ bv4 32) sep_~i~0) (_ bv16 32))) (_ bv2 32)))) (= (_ bv0 32) (bvsrem (select (select |#memory_int| |sep_#in~x.base|) (bvadd |sep_#in~x.offset| (_ bv16 32))) (_ bv2 32))))} is VALID [2018-11-23 10:24:45,194 INFO L256 TraceCheckUtils]: 17: Hoare triple {7641#true} call #t~ret6 := sep(~#x~0.base, ~#x~0.offset); {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 16: Hoare triple {7641#true} assume !~bvslt32(~i~1, 5bv32); {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 15: Hoare triple {7641#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 14: Hoare triple {7641#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 13: Hoare triple {7641#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 12: Hoare triple {7641#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 11: Hoare triple {7641#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7641#true} is VALID [2018-11-23 10:24:45,195 INFO L273 TraceCheckUtils]: 10: Hoare triple {7641#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7641#true} is VALID [2018-11-23 10:24:45,196 INFO L273 TraceCheckUtils]: 9: Hoare triple {7641#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7641#true} is VALID [2018-11-23 10:24:45,196 INFO L273 TraceCheckUtils]: 8: Hoare triple {7641#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7641#true} is VALID [2018-11-23 10:24:45,196 INFO L273 TraceCheckUtils]: 7: Hoare triple {7641#true} #t~post4 := ~i~1;~i~1 := ~bvadd32(1bv32, #t~post4);havoc #t~post4; {7641#true} is VALID [2018-11-23 10:24:45,196 INFO L273 TraceCheckUtils]: 6: Hoare triple {7641#true} assume !!~bvslt32(~i~1, 5bv32);call write~intINTTYPE4(#t~nondet5, ~#x~0.base, ~bvadd32(~#x~0.offset, ~bvmul32(4bv32, ~i~1)), 4bv32);havoc #t~nondet5; {7641#true} is VALID [2018-11-23 10:24:45,196 INFO L273 TraceCheckUtils]: 5: Hoare triple {7641#true} call ~#x~0.base, ~#x~0.offset := #Ultimate.alloc(20bv32);havoc ~temp~0;havoc ~ret~1;havoc ~ret2~0;havoc ~ret5~0;~i~1 := 0bv32; {7641#true} is VALID [2018-11-23 10:24:45,197 INFO L256 TraceCheckUtils]: 4: Hoare triple {7641#true} call #t~ret14 := main(); {7641#true} is VALID [2018-11-23 10:24:45,197 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7641#true} {7641#true} #71#return; {7641#true} is VALID [2018-11-23 10:24:45,197 INFO L273 TraceCheckUtils]: 2: Hoare triple {7641#true} assume true; {7641#true} is VALID [2018-11-23 10:24:45,197 INFO L273 TraceCheckUtils]: 1: Hoare triple {7641#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1]; {7641#true} is VALID [2018-11-23 10:24:45,197 INFO L256 TraceCheckUtils]: 0: Hoare triple {7641#true} call ULTIMATE.init(); {7641#true} is VALID [2018-11-23 10:24:45,225 INFO L134 CoverageAnalysis]: Checked inductivity of 416 backedges. 116 proven. 235 refuted. 0 times theorem prover too weak. 65 trivial. 0 not checked. [2018-11-23 10:24:45,228 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 10:24:45,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [38, 24] total 59 [2018-11-23 10:24:45,229 INFO L78 Accepts]: Start accepts. Automaton has 59 states. Word has length 95 [2018-11-23 10:24:45,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 10:24:45,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 59 states. [2018-11-23 10:25:05,978 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 146 inductive. 0 not inductive. 10 times theorem prover too weak to decide inductivity. [2018-11-23 10:25:05,979 INFO L459 AbstractCegarLoop]: Interpolant automaton has 59 states [2018-11-23 10:25:05,979 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 59 interpolants. [2018-11-23 10:25:05,980 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=262, Invalid=3160, Unknown=0, NotChecked=0, Total=3422 [2018-11-23 10:25:05,981 INFO L87 Difference]: Start difference. First operand 201 states and 263 transitions. Second operand 59 states. [2018-11-23 10:25:33,790 WARN L180 SmtUtils]: Spent 2.06 s on a formula simplification. DAG size of input: 34 DAG size of output: 20 [2018-11-23 10:25:37,841 WARN L180 SmtUtils]: Spent 2.05 s on a formula simplification. DAG size of input: 32 DAG size of output: 19 [2018-11-23 10:25:51,233 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 39 DAG size of output: 24 [2018-11-23 10:25:54,408 WARN L180 SmtUtils]: Spent 2.10 s on a formula simplification. DAG size of input: 39 DAG size of output: 25